WordPress 永久链接不起作用

Posted

技术标签:

【中文标题】WordPress 永久链接不起作用【英文标题】:Wordpress Permalinks not working 【发布时间】:2011-05-18 12:01:48 【问题描述】:

我将我的网站从 slichost 移至 Amazon ec2。搬家后,我为 wordpress 做了必要的设置。我的 wordpress 第一页工作正常,但永久链接不起作用。 谁能告诉我要使永久链接正常工作需要进行哪些更改。

谢谢

【问题讨论】:

如果我是对的,问题是什么,他们仍然指向旧位置。是你的问题吗? 您能描述一下“不工作”是什么意思吗?您能给我们举一个不工作的永久链接的例子,并详细说明当您尝试使用它时会发生什么? 直截了当,没有更多信息,您是否检查过您的公共根目录中是否有 .htaccess,并启用了 mod_rewrite 和适当的规则? @Atul 你有正确的答案吗?如果对您的原始问题有任何答案,您能否将其标记为正确? 请查看这个答案:***.com/questions/19156711/… 【参考方案1】:

检查您的 apache 配置并确认您在存储 Wordpress 安装的目录中启用了以下设置(可能您将有更多特定目录的配置选项,但这些是 Wordpress 精美永久链接所需的最低要求):

<Directory var/www/>
Options FollowSymLinks
AllowOverride All
</Directory>

【讨论】:

我在 Apache httpd 版本 2.2.23 上的 FollowSymLinks 上收到无效命令错误 我发现这个教程视频更好地解释了上述修复:youtube.com/watch?v=_bo9dl-yxDA 我改变了这个 AllowOverride All 并且它起作用了。谢谢。【参考方案2】:

在迁移到新的 linux 主机并安装新的 wordpress 后,我们必须进行以下所有更改以启用漂亮的永久链接。

    在正确的文件夹中创建 .htaccess,其中包含 Krige 建议的代码。 按照 Mike Lynn 的建议,在 apache 上启用 mod_rewrite,然后重新启动服务器。 按照 Cninroh 的建议,将 apache 配置更改为 FollowSymLinks 和 AllowOverride All for /var/www/。对我们来说 /etc/apache2/sites-enabled/000-default 是我们必须编辑的文件。

【讨论】:

将 AllowOverride 从 None 更改为 All 使永久链接有效!【参考方案3】:

我在让永久链接(默认除外)在 Mac OSX 上工作时遇到问题,以下内容非常有用。默认情况下,Mac 似乎没有 .htaccess 准备就绪,Apache 将忽略该文件,直到某些文件(在下面的链接中指定)被修改:

http://wordpress.org/support/topic/getting-pretty-permalinks-working-on-a-mac-105-server

http://clagnut.com/blog/350/

希望有帮助!

【讨论】:

【参考方案4】:

在您的 wordpress 目录中创建一个.htaccess 文件,并将以下代码放入其中:

# 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

Source

【讨论】:

【参考方案5】:

我能够通过以下方式解决此问题:

为我的网站登录 wp-admin 更改设置 |不同事物的永久链接选项 保存更改 更改设置 |将永久链接选项恢复为原始值 保存更改

这似乎重新启用了最初不起作用的永久链接。

【讨论】:

【参考方案6】:

尝试在永久链接路径之前添加 index.php/。

【讨论】:

【参考方案7】:

虽然检查 apache 配置是必不可少的并且可能是第一步,但您还需要确保 apache 启用了 mod_rewrite 模块...根据您使用的来自 Amazon 的 AMI,您需要:

安装 apache 并有条件地启用 mod_rewrite。

a2enmod 重写

重启服务器

【讨论】:

【参考方案8】:

当您设置非默认的永久链接选项时,以下代码已经发布在 .htaccess 文件中。

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

# END WordPress

但这并没有帮助,正如你已经知道的那样。

因此,当您 set rewrite_module 时,这将起作用,这可以通过转到“修复权限”(如果您的 cpanel 中可用)来完成,或者您可以联系您的主机。

【讨论】:

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

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

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

在 Wordpress 上启用漂亮的永久链接 - apache 配置不起作用

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

Bootstrap、WordPress 和 NavWalker - ***导航链接不起作用

永久重定向不起作用