8

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

パーマリンク設定をデフォルトに変更すると、URL が次のよう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

解決策はありますか?

ありがとう

4

5 に答える 5

8

Apachehttp.confファイルを編集して、

変化する#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

http.conf が存在しない Apache2 のバージョン (つまり、ubuntu) では、コマンド a2enmod rewrite を使用してモジュールを有効にすることができます。

于 2013-09-26T03:20:52.157 に答える
6

.htaccess ファイルが配置されていると仮定すると、これは新しいサーバーで Apache 書き換えモジュールが有効になっていないことが原因である可能性が最も高いです。Ubuntu では次のようにします。

sudo a2enmod rewrite
sudo apache2ctl restart
于 2015-02-03T17:19:43.040 に答える
3

これもこの3点が原因だと思います。

  1. AccessFileName .htaccess は、Apache 構成でコメント化されています。
  2. AllowOverride ALL は、wordpress パスの apache 構成に記載されていません。
于 2014-02-07T03:19:07.220 に答える
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

それは私のために働いた。

于 2014-11-10T05:24:05.893 に答える
0

これは簡単です。次を実行します。

shell > a2enmod rewrite enable

apache2 で実行している場合。

于 2014-11-17T01:12:26.997 に答える