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

2022-08-30 21:32:58

我已经在我的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>

这些答案中的任何内容都对我没有帮助

谢谢。

UPD:

感谢Justin Iurman的评论。设置允许在我的 conf 中覆盖所有内容解决问题:)


答案 1

如何获得WordPress永久链接/漂亮的链接,以便在Ubuntu 10.10中使用Apache2:

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

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

  2. 转到 Ubuntu 终端并键入:

sudo chown -v :www-data “/enterYourFilePathHere/.htaccess”

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

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

sudo chmod -v 664 “/enterYourFilePathHere/.htaccess”

您应该看到打印了一行,指出文件的模式已保留。

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

sudo a2enmod rewrite

您应该看到打印了一行,说它正在启用mod重写并提醒您重新启动Web服务器

  1. 所以让我们这样做。重新启动 Web 服务器 Apache2,使更改生效,方法是键入:

sudo /etc/init.d/apache2 restart

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

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

  2. 做!转到您的网站并检查任何页面(主页除外),以确定一切按预期工作。

希望这有助于某人。


答案 2

按照 nmk 编写的步骤操作后,

sudo vim /etc/apache2/apache2.conf

找到条目

并更改为

<Directory /var/www/html>AllowOverride None
AllowOverride All

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

sudo /etc/init.d/apache2 restart


推荐