Apache .htaccess规则重写子文件夹以查询参数不起作用

时间:2019-04-25 02:33:52

标签: apache .htaccess mod-rewrite

在我的Web根文件夹中,有一个.htaccess文件,内容如下:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule "^assessments_tools/(.+)" "assessments_tools/index.php?file=$1" [R,L]

这意味着/assessments_tools/myers-briggs/应该重写为/assessments_tools/index.php?file=myers-briggs。但是,我无法使它起作用。它总是返回404。

在服务器上,/assessessments_tools/实际上作为目录存在。如果我对不存在的目录使用相同的规则,例如RewriteRule "^foo/(.+)" "assessments_tools/index.php?file=$1" [R,L],它可以工作。因此,我的猜测是 可能与/assessments_tools/存在这一事实有关。

1 个答案:

答案 0 :(得分:0)

禁用MultiViews可以解决此问题。

Options -MultiViews