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

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

谢谢

【问题讨论】:

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

标签: wordpress permalinks


【解决方案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 后,我们必须进行以下所有更改以启用漂亮的永久链接。

  1. 在正确的文件夹中创建 .htaccess,其中包含 Krige 建议的代码。
  2. 按照 Mike Lynn 的建议,在 apache 上启用 mod_rewrite,然后重新启动服务器。
  3. 按照 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 中可用)来完成,或者您可以联系您的主机。

            【讨论】:

              猜你喜欢
              • 2015-07-03
              • 1970-01-01
              • 2018-04-17
              • 2015-04-28
              • 2016-12-07
              • 2015-08-22
              相关资源
              最近更新 更多