我在这里阅读了一些帖子以及谷歌搜索几个小时,并一直试图让以下工作:
<IfModule mod_rewrite.c>
Options All
RewriteEngine on
RewriteRule ^content/tagged/(\w+)/?$ /content.html?tagged=$1 [L]
</IfModule>
我已经确认安装了mod_rewrite,并确保正确设置了Allow Override。 (Apache已重新启动!)
<Directory "C:/xampp/htdocs">
Options All
AllowOverride All
Require all granted
</Directory>
http://example.com/content/tagged/science
应支持重写http://example.com/content.html?tagged=science
,但完全失败。
这个重写应该非常简单,除非我做了一些骨头的事情。我做过一些蠢货吗?
编辑:我也尝试了以下内容:
RewriteRule ^content/tagged/([a-z]+)/?$ /content.html?tagged=$1 [L]
答案 0 :(得分:2)
关闭MultiViews
,因为源网址以/content
开头,并且有一个匹配的content.html
文件。还要确保启动目标网址而不/
将请求转发到当前目录的content.html
文件。
Options All -MultiViews
RewriteEngine on
RewriteRule ^content/tagged/(\w+)/?$ content.html?tagged=$1 [NC,L,QSA]
使用的标志是:
NC - Ignore case
QSA - Query String Append
L - Last Rule