WordPressのパーマリンクで出た
404 Not Found
というエラーを解決しました。
目次
HTTPのステータスコード 404 Not Found
HTTPのステータスコード 404 Not Foundの一般的な意味、解決方法は以下の通りです。
・https://urashita.com/archives/21475
WordPressのパーマリンクで404 Not Found
WordPressのパーマリンクでデフォルトではない設定を行っている場合、以下のように表示されることがあります。
404 Not Found
The requested URL /archives/1347 was not found on this server.
パーマリンク404 Not Found対策
まずキャッシュを削除してから、パーマリンク設定を「デフォルト」に戻してうまく表示できるか調査してみます。
デフォルトに戻してみても表示されない場合は、ファイルが壊れているとか、もっと抜本的な問題である可能性があります。
デフォルトに戻してみて表示される場合は、原因として考えられることは次の2点です。
1. /var/www/wordpress/.htaccessの設定が間違えている
私の場合、/var/www/wordpress/.htaccessの設定は以下の通りでした。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L] |
これは正しい記述です。
/var/www/wordpress/.htaccess
の設定がこんな感じだと
1 2 3 4 |
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] |
以下のようなエラーが出ます。
[Thu Oct 30 14:36:38.915397 2014] [core:error] [pid 4315] [client 192.168.141.135:41519] AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace., referer: http://192.168.141.135/
2. /etc/httpd/conf/httpd.confにて<Directory>セクションがAllowOverride Noneとなっている
/etc/httpd/conf/httpd.conf
を調べてみると次の事がわかりました。
Apache 2.4からRelax accessという項目が増えており、
/var/wwwの設定がAllowOverride Noneとなっておりました。
そこで、AllowOverride NoneをAllowOverride Allと変更ししてApacheを再起動します。
1 2 3 4 5 6 7 8 9 |
# # Relax access to content within /var/www. # <Directory "/var/www"> # AllowOverride None AllowOverride All # Allow open access: Require all granted </Directory> |
無事にパーマリンクを「数字ベース」に設定しても表示されました。
WordPressのおすすめ本
↓WordPressのおすすめ本はコチラ
コメント
[…] WordPressのパーマリンクで404 Not Found WordPressのパーマリンクで出た 404 Not Found… […]