找不到Apache2 Mod重写页面

时间:2012-05-30 03:35:17

标签: .htaccess mod-rewrite apache2

对不起,我不确定如何用一句话来表达这个问题。

基本上,mod重写适用于我们的traq页面(下面的代码块1),但不适用于我们的wordpress页面(下面的代码块2)。出于某种原因,如果我们实现自动生成的Wordpress .htaccess文件,该页面会出现Apache的“找不到页面”错误(这意味着它根本就不会出现在Wordpress的索引页面上)。

TRAQ:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

WordPress的:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
<IfModule>

我们尝试在Wordpress文件中注释掉一些不同的行,并改变各种行,因为我们认为这样或那样可能导致了这个问题。最后,除404之外,我们的任何更改都没有显示任何内容。

1 个答案:

答案 0 :(得分:0)

我们发现了这个问题。 我们的服务器设置与发行版的Ubuntu相同,默认情况下,apache包配置为允许使用htaccess / mod-rewrite覆盖,但不允许任何重写规则。我们必须将我们想要允许的规则添加到apache配置中。