【问题标题】:Wordpress site getting 404 if "Permalink" option set to "Post name"如果“永久链接”选项设置为“帖子名称”,Wordpress 网站会收到 404
【发布时间】:2016-10-27 21:46:53
【问题描述】:

我的网站有一个相当奇怪的问题。我刚刚决定将我的网站从一台服务器删除到新服务器(我不再想使用 wpengine.co.uk)

我现在已经启动并运行了网站,但是我唯一的问题是如果我将“永久链接”选项设置为“帖子名称”,如下所示:http://i.imgur.com/poyRQ9x.png 然后我得到一个 404。

我在 Linux 机器上安装了以下 Apache:

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

我的 .htaccess 看起来像这样(目前我已将文件权限设置为 666):

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

最后我已经启用,从我的“phpinfo()”页面可以看出。

如果我使用丑陋的“普通”选项,该网站确实可以工作......但这显然是我不想要的。

【问题讨论】:

  • 您是否尝试转到设置 -> 永久链接并单击保存?
  • 是的,我也这样做了。
  • 我讨厌提出一个显而易见的问题,但更多时候不是,禁用所有插件并使用默认主题往往会证明您的数据库和 wordpress 安装工作正常。从那里一次激活一个插件,然后查看其中一个是否导致问题。
  • 感谢您的提示。我这样做了(停用了每个使网站看起来很糟糕的插件,哈哈)但遗憾的是,即使是最简单的页面 /contact-us/ 也给出了 404

标签: php wordpress apache .htaccess permalinks


【解决方案1】:

更改 httpd.config 后重新启动 Apache。 (对 pph.ini 和 .htaccess 的更改不需要重新启动)。

而且,您可能需要为文档根添加AllowOverride All

<Directory /var/www/html>
    # ... other directives...
    AllowOverride All
 </Directory>

【讨论】:

  • 您不应该更改 httpd.config(或者在我的情况下是文件 apache2.conf),因为它会加载一些良好的基本设置。如果您想覆盖这些值,您应该将它们添加到实际的虚拟主机本身(在我的情况下位于 /etc/apache2/sites-enabled/my-website.conf)这一步也已经完成。
【解决方案2】:

请从 wordpress 根目录中删除您的 .htaccess 文件,然后尝试更改永久链接设置。

注意:- 删除之前备份.htaccess文件。

我希望这对你有用。

【讨论】:

  • 我已经这样做了,但没有帮助。 WordPress 确实有权更新 .htaccess 文件(它目前具有 666 文件权限......以防万一)这是一个非常奇怪的问题:-/
【解决方案3】:

嗯,答案结果很奇怪。看来,要让它工作,我需要安装一些额外的 PHP 扩展。我需要做的就是:

sudo apt-get install php-mbstring php7.0-mbstring php-gettext

虽然我认为最终奏效的是:

sudo apt-get install php-curl

我看到了有关此的警告,但我不知道这实际上会阻止 WordPress 的重定向。如果有人知道为什么会这样,我将非常感激。

【讨论】:

    猜你喜欢
    • 2018-04-23
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-08-22
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 2017-06-06
    相关资源
    最近更新 更多