在我的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/
存在的事实有关。
禁用MultiViews修复它。
Options -MultiViews