WordPress无法与.htaccess一起使用。

3

我通过大量阅读htaccess问题的内容等,一直在尝试解决这个问题,但似乎无法使其正常工作。

我已经在 var/www 安装了WordPress站点。

我想要一个特定的URL指向一个特定的页面。开始时我浏览了一些WordPress插件,但没有一个能够解决我的问题,所以我直接去修改安装WordPress的根目录下的.htaccess文件。这时我开始感到沮丧。

以下是我尝试创建的.htaccess文件之一:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
Options +FollowSymLinks
Redirect 301 /redirect-me http://my-wordpress-site/?page_id=15
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

所有重定向尝试都导致404 Not Found错误。
我已经确认了以下事项:
- Apache2 Rewrite模块已启用 - www-data用户对.htaccess文件具有读写权限。 - apache2.conf文件中的AllowOverride在该目录下被设置为All。
这是一个很大的提示:交换我的.htaccess文件中的最后一个ReWrite规则对我的WordPress站点完全没有影响...
RewriteRule . /poo.php [L]

还有哪些建议可以用于调试失败的.htaccess文件?


您是否可以访问您的Apache安装的错误日志? - vicvicvic
1
令我惊讶的是,当您替换WP的主要规则时,没有任何变化。您确定这是WP使用的规则吗? - Justin Iurman
@JustinIurman 这也是让我感到惊讶的地方。在那个时候,调试非常绝望。如果你说“被WordPress使用”,如果你的意思是WordPress推荐的默认重写规则,那么是的。但显然根本没有被“使用”。 - shennan
@vicvicvic 很遗憾,服务器日志的权限非常严格,无法获取。 - shennan
你自己把allowoveride改成了All吗?这似乎是apache 2.4的设置,默认值为none,所以如果你进行了更改,是否重新启动了apache? - Panama Jack
显示剩余13条评论
1个回答

1

当您进行配置更改,比如在配置文件中设置AllowOverride时,请确保重新启动Apache2以使更改生效。试试这个方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接