RewriteRule和DirectoryIndex之间的冲突

时间:2015-08-03 21:30:35

标签: php apache .htaccess mod-rewrite

我看到了这个question,但它没有帮助 我正在尝试根据正在运行的活动项目设置回退文件 如果项目根目录没有main.php,那么它应该回退到index.php 我已设法使用以下代码执行此操作:

DirectoryIndex main.php index.php index.html

但我的问题是我无法找到一种方法来为RewriteRule设置相同的规则。我尝试这样的事情,但它给了我一个500错误:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . main.php index.php

如何在RewriteRule中设置后备,以便它与DirectoryIndex一样工作?

1 个答案:

答案 0 :(得分:0)

此规则应该有效:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^main\.php$ index.php [L,NC]

您尝试过的规则在规则模式中有一个额外的点。