wordpress apache永久链接不起作用(404错误)

Posted

技术标签:

【中文标题】wordpress apache永久链接不起作用(404错误)【英文标题】:wordpress apache permalinks not working (404 error) 【发布时间】:2014-06-16 18:39:02 【问题描述】:

我已在我的 apache2 服务器 wordpress 站点上安装,但所有永久链接都不起作用(未找到 404) 我的 .htaccess 是由 wp 生成的

# BEGIN 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>

# END WordPress

我的这个网站的 conf 文件:

<Directory /home/sergey/siteName>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

anythingfromthoseanswersdoesnot帮帮我

谢谢。

UPD:

感谢 Justin Iurman 的评论。 在我的 conf 中设置 AllowOverride All 可以解决问题:)

【问题讨论】:

首先,您是否启用了mod_rewrite?然后,您定义了一个RewriteBase,因此您不需要在index.php 之前的第二个RewriteRule 中使用前导斜杠。最后,在您的配置文件中将AllowOverride None 更改为AllowOverride All 在这种情况下,该域的 Apache 错误日志的输出也会有所帮助。此外,您可以打开日志记录以进行重写。 httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog 日志的输出可能会有所帮助 - 如果您自己无法弄清楚,请将日志的输出粘贴到问题中。 【参考方案1】:

如何让 WordPress 永久链接/漂亮链接在 Ubuntu 10.10 和 Apache2 中工作:

顺便说一句,这在 Ubuntu 10.04 中也应该是一样的,但我还没有实际测试过。

    手动创建一个“.htaccess”文件并将其保存在您的 WordPress 主目录中。 (这是一个包含 wp-admin、wp-includes 和 wp-content 文件夹的文件夹。)

    转到 Ubuntu 终端并输入:

sudo chown -v :www-data "/enterYourFilePathHere/.htaccess"

您应该会看到一行打印出,说明(组)文件所有权已更改为 www-data (Apache2)。

    授予 Apache2 对该文件的写入权限:

sudo chmod -v 664 "/enterYourFilePathHere/.htaccess"

你应该会看到一行打印出来,说明文件的模式已被保留。

    接下来,我们必须通过在 Apache2 服务器中启用 mod_write 来允许 WordPress 写入 .htaccess 文件。在终端中输入以下内容:

sudo a2enmod 重写

你应该会看到一行打印出来,说它正在启用 mod rewrite 并提醒你重新启动 web 服务器

    那么让我们这样做吧。通过键入以下内容重新启动 Web 服务器 Apache2,以使更改生效:

sudo /etc/init.d/apache2 重启

我们都完成了命令行提示;你现在可以关闭命令行窗口了。

    进入您的 WordPress 管理面板(即http://yourDomain/wp-admin)。转到设置 --> 永久链接并选择您选择的永久链接格式。点击“保存更改”按钮。

    完成!转到您的网站并检查任何页面(首页除外),以确保一切正常。

希望这对某人有所帮助。

【讨论】:

为我工作!谢谢! :) 我已经投票了,不能再投票了。但你的回答多次救了我。非常感谢:) 谢谢@ashish.gd,您可以与相关问题分享此答案。它可以帮助更多的人; 对我不起作用。我做了所有步骤(仔细检查了 chown 和 chmod 参数),当我将永久链接切换到 ?p=id 时它可以工作(我知道,这些不是永久链接,只是查询字符串),每次我点击保存在我发出的永久链接设置中@ 987654322@ 观察更改,实际上 Wordpress 更改了文件...【参考方案2】:

按照nmk写的步骤,

sudo vim /etc/apache2/apache2.conf

查找条目&lt;Directory /var/www/html&gt; 并改变 AllowOverride NoneAllowOverride All

然后保存文件 (:wq) 并在命令提示符下重新启动 apache2 服务

sudo /etc/init.d/apache2 重启

【讨论】:

这解决了我的问题!【参考方案3】:
    打开 /etc/apache2/apache2.conf 文件。 将 AllowOverride 从值“none”更改为“All”,如下所示
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  </Directory>

3.激活 mod_rewrite

sudo a2enmod rewrite

4.重新启动 apache 服务器以使此更改生效。

sudo apachectl restart

【讨论】:

以上是关于wordpress apache永久链接不起作用(404错误)的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress“帖子名称”永久链接不起作用

WordPress 永久链接不起作用

Wordpress 永久链接在服务器上不起作用

Wordpress Postname 永久链接在 localhost (xampp) 上不起作用

网站迁移后,WordPress 永久链接不再起作用

启用永久链接后,Wordpress 在 wamp apache 上抛出 403 禁止错误?