带有查询字符串的RewriteRule被重写为/ param / param /

时间:2015-01-16 14:26:54

标签: apache .htaccess mod-rewrite rewrite webmin

我有这个改写:

RewriteRule ^gallery/([^/]+)/?$ /gallery.php?title=$1 [L]

但是,当导航到gallery / a /时,内部重定向是:

gallery.php/a //(instead of: gallery.php?title=a)

什么会导致这种行为?

1 个答案:

答案 0 :(得分:1)

选项MultiViews可能是罪魁祸首。在MultiViews之前运行的Apache's content negotiation module使用选项mod_rewrite,并使Apache服务器匹配文件扩展名。因此/file可以在网址中,但它会投放/file.php

在.htaccess:

的顶部使用此行将其关闭
Options -MultiViews