在此服务器上找不到Wordpress永久链接'

时间:2013-09-26 03:13:01

标签: wordpress

我只是将Wordpress 网站移至新主机。但是当我去除HOME页面以外的任何页面时,我收到了这个错误:

Not Found

The requested URL /about was not found on this server.

Apache/2.2.16 (Debian) Server at 176.xx.yy.zz Port 80

我将永久链接设置更改为默认值,这使得网址看起来像mysite.com/?page_id=5,页面显示正常。所以问题不在我的代码中。

我的第一个猜测是mod_rewrite未启用。但phpinfo()告诉我mod_rewrite已正确加载。

我的 .htaccess 会自动生成,如下所示:

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

任何解决方案?

由于

5 个答案:

答案 0 :(得分:7)

您需要编辑Apache http.conf文件和

更改#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

在不再存在http.conf的Apache2版本(即ubuntu)上,您可以使用命令a2enmod rewrite来启用该模块。

答案 1 :(得分:3)

假设您的.htaccess文件已就绪,这很可能是由于新服务器上未启用Apache重写模块引起的。在Ubuntu上执行此操作:

sudo a2enmod rewrite
sudo apache2ctl restart

答案 2 :(得分:2)

我相信这也可能是因为这三个问题。

  1. 在您的apache配置中注释了AccessFileName .htaccess。
  2. 您的apache配置中未提及AllowOverride ALL for wordpress path。

答案 3 :(得分:1)

这可能是重写规则

中定义的路径的问题

考虑在.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

这对我有用。

答案 4 :(得分:-1)

这很简单,运行:

shell > a2enmod rewrite enable

如果您正在运行apache2。