【发布时间】:2014-12-15 11:56:43
【问题描述】:
我在 Windows 8 笔记本电脑(WAMP 服务器)上运行了 Apache 2.4.4,我发现 .htaccess mod_rewrite 规则的行为非常奇怪。
我想将我网站的根目录重定向到特定文件。我的 .htaccess 看起来像这样:
RewriteEngine On
RewriteBase /
RewriteRule $^ /static/home.php [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ router.php?url=$1 [L,QSA]
仅当根目录中没有 index.php 文件时才有效。当我创建 index.php 文件时,Apache 将空路径直接重定向到索引文件,并且不会打扰第一个 RewriteRule。
有没有办法让这些 RewriteRules 和 index.php 文件一起工作?换句话说,我的示例有效,但我想将 router.php 重命名为 index.php 并保持两个 RewriteRules 正常工作。
谢谢!
【问题讨论】:
标签: apache .htaccess mod-rewrite redirect document-root