【问题标题】:Why do none of the pages in my Wordpress site work?为什么我的 Wordpress 网站中的所有页面都不起作用?
【发布时间】:2012-05-31 14:45:15
【问题描述】:

我正在尝试将 Wordpress 网站移动到新服务器。域名也从“olddomain.com”更改为“newdomain.com”。

为此,我将所有文件移至新服务器并在 Apache 中设置了一个虚拟主机。然后,我使用脚本 (http://interconnectit.com/124/search-and-replace-for-wordpress-databases/) 将“olddomain.com”的实例替换为“newdomain.com”。

当我在浏览器中访问我的网站时,它的主页正在运行。但是,我的其他页面(例如“newdomain.com/about/”)都没有工作 - 它们返回 404。

我检查了我的 Apache 错误日志并得到了以下日志。

[client 69.184.72.91] File does not exist: /home/david/wordpressSiteFiles/about, referer: http://newdomain.com/

为什么 Apache 在我的服务器上寻找一个名为“about”的文件?这是我现在拥有的 .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>

【问题讨论】:

    标签: wordpress apache


    【解决方案1】:

    您是否在服务器上设置了allowoverride? http://codex.wordpress.org/Using_Permalinks

    allowoverride 必须在您的 httpd.config 中设置,否则您的 .htaccess 将 完全忽略。

    您的服务器可能没有启用 AllowOverride 指令。如果 AllowOverride 指令在您的 Apache httpd.config 中设置为 None 文件,则 .htaccess 文件将被完全忽略。在这种情况下, 服务器甚至不会尝试读取 .htaccess 文件中的 文件系统。

    来源 http://wordpress.org/support/topic/wordpress-cant-find-my-new-pages

    几天前我遇到了同样的问题,现在解决了!

    【讨论】:

    • 啊,谢谢!我用这些步骤解决了问题。 1) 运行a2enmod rewrite 以启用重写引擎。 2) 将RewriteEngine On 放在我的 apache2.conf 文件中。该链接间接地使我得到了答案-事实证明,mod rewrite 没有打开。谢谢!
    • 很高兴帮您解决了问题^_^ 今天很开心。哇哦!
    【解决方案2】:

    听起来您有需要更新的重写规则。查找.htaccess 文件。

    【讨论】:

    • 嗯,谢谢!我在我现在拥有的上面发布了我的 htaccess 文件。你觉得有什么问题吗?
    • 好吧,听起来 apache 并没有读取你的 .htaccess。照别人说的做。
    猜你喜欢
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2022-10-23
    • 2015-06-28
    • 1970-01-01
    • 2011-02-13
    相关资源
    最近更新 更多