我有一个真正奇怪的问题简单的mod_rewrite问题
我与的.htaccess玩弄,并试图重定向到/测试/文件夹的索引文件的所有请求。
我的网站位于我的本地htdocs文件夹中的文件夹/ test /中。没有其他文件存在currenlty。
我想到: 当我访问的任何URL(例如/test/category/one/
)我应该被重定向到/test/index.php
会发生什么 我得到一个404 Not Found
我的.htaccess的样子这个:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php?__route=$1 [L,QSA]
我试过设置RewriteBase /test/
这是直截了当的,所以为什么它不工作?
我有一个Wordpress网站在另一个文件夹中,并与自定义重写工作完美无瑕。
我甚至将Wordpress的.htaccess内容复制到测试网站,用/ test /替换重写基准和最后一条规则。
WordPress的的.htaccess:(这在一个单独的WP工程安装在同一服务器上)
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /test/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /test/index.php [L]
</IfModule>
# END WordPress
我一直在这个苦苦挣扎了一会儿,看了不少SO没有帮助文章。
我甚至写了一个重写日志文件,现在当我浏览到测试网站时没有显示任何内容,但访问Wordpress网站时写了很多行。
我在Win64机器上运行XAMPP。
任何帮助将不胜感激! =)
“它不工作” - 你的问题很好的解释,我联系Charles Xavier来帮助我弄清楚“不起作用”对你意味着什么。 – hakre 2012-08-16 17:46:51
@hakra对于不提及,我表示歉意。什么'不起作用'是重写规则没有得到执行,我得到了'404 Page Not Found'错误。应该发生的事情是我被重定向到/test/index.php – tone7 2012-08-16 17:59:17
'。'恰好匹配一个字符,并且没有捕获的组。尝试'(。+)'。 – 2012-08-16 18:00:00