只要存在具有相同名称的文件,.htaccess就无法工作

时间:2014-04-22 16:48:39

标签: apache .htaccess apache2

我试图将一些子目录重定向到php中的处理器来处理请求。 基本上,这意味着我想将www.myurl.com/members/Max重定向到urlprocessor.php?url = members / Max,所以我可以在那里处理它以获得我需要的成员数据。

我在我的.htacces中使用以下代码,这是有效的。

RewriteEngine on
RewriteBase /newboots
RewriteRule ^\.htaccess$ - [F]
RewriteRule ^members(.*)$ urlprocessor.php?url=$1 [L,QSA]

但是!只要我的目录中有members.php,就会出现一些错误。 呼叫/ members / Max仍在工作。 呼叫/成员会导致空白页面。 呼叫/成员/导致空白页面。 致电/会员。工作中 (甚至)调用/members.php正在工作

一旦我将members.php重命名为sometingelse.php,它就再次正常工作。

我不明白:) 谢谢你的帮助...

1 个答案:

答案 0 :(得分:0)

我认为这是由于Apache中启用了选项MultiViews。通过将此行置于顶部来禁用它:

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