.htaccess不会将斜杠视为有效字符

时间:2013-11-26 12:49:43

标签: apache .htaccess mod-rewrite

我正在尝试在我的本地服务器(使用Apache的OS X Mavericks)中进行此重写工作,并且它似乎不起作用,只有在条件中包含正斜杠时才会:

RewriteRule ^procedures/new$ procedure.php [L,QSA]

这应该重写http://www.example.com/procedures/new以呈现http://www.example.com/procedure.php,但会返回404。

如果我用任何其他字符替换正斜杠,它就可以正常工作:

RewriteRule ^procedures-new$ procedure.php [L,QSA]

这会正确地重写http://www.example.com/procedures-new

似乎mod_rewrite不接受正斜杠作为输入。关于这个的任何想法?

整个文件:

<IfModule mod_rewrite.c>
  RewriteEngine On
  Options +MultiViews
  Options +FollowSymLinks
  RewriteBase /

  RewriteRule ^procedures/new$ procedure.php [L,QSA]
</IfModule>

1 个答案:

答案 0 :(得分:0)

就像在黑暗中拍摄一样,尝试关闭Multiviews。如果404是由apache生成的,这可能不是问题,但如果它是由procedure.php生成的,也许它不喜欢PATH_INFO?

Options -Multiviews