尝试重写如下所示的链接:
/content/about-me
......对此:
/content/about-me.html
这对我正在做的事情是必要的。我使用此htaccess规则不断收到内部服务器错误:
RewriteRule ^content/(.*) /content/$1.html [NC,L]
知道我做错了什么吗?网上有大量的例子,但不能很好地解决问题。
答案 0 :(得分:1)
您的重写规则(模式)过于宽泛,会捕获已经重写的网址。覆盖已经重写的URL将导致无限重写循环,Apache会智能地检测并中止此类请求,并出现500错误。
RewriteRule Last [L] flag not working?
例如:
/hello/pink-kitten
/hello/pink-kitten.html
/hello/pink-kitten.html.html
/hello/pink-kitten.html.html.html
更正确的方法(少数可能的方法之一) - 将在重写之前检查此类html文件是否存在:
# add .html file extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^content/(.+)$ /content/$1.html [L]