パーマリンク設定を変更したらNot Found
WordPressを導入したら絶対に行いたいのはパーマリンクの設定です。
なぜ設定をすべきであるのかは下記の記事が詳しいです。
WordPressのパーマリンク設定を変更して、SEOや日本語URLの対策をしよう | 株式会社LIG
WordPressでもデフォルトで設定されているのですが、実はそのままだと理想的なパーマリンクとは言えません。 …
話を戻しますが、パーマリンクを設定を変更して、実際に記事を見てみると
画面に「Not Found」が表示されてしまうことがあります。
原因としては次の二つが考えられると思います。
(WEBサーバーがApacheの場合)
- .htaccessファイルを作成できなかった
- Apacheの設定ができていない
.htaccessファイルを作成できなかった
通常「.htaccess」ファイルに書き込みが権限がある場合、パーマリンク設定の変更に伴って自動的に「.htaccess」が作成されます。
ですので、一度FTPでドキュメントルートに「.htacess」が追加されているか確認してみてください。
もし追加されていない場合は、ドキュメントルートに「.htacess」ファイルを作成し、次のコードを記述します。
RewriteEngine On RewriteBase /wordpress/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /wordpress/index.php [L]
Apacheの設定ができていない
「httpd.conf」ファイルの設定を確認します。
vi /etc/httpd/conf/httpd.conf
「httpd.conf」ファイルが開いたら、「LoadModule rewrite_module modules/mod_rewrite.so」を検索します。
#LoadModule rewrite_module modules/mod_rewrite.so ↓ LoadModule rewrite_module modules/mod_rewrite.so
先頭に#がついていたら消してください。
次に「.htaccess」ファイルの使用許可設定を行います。
# AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None ↓ AllowOverride All
AllowOverride を「All」に変更します。
最後に再起動させます。
service httpd restart
参考
mod_rewriteの設定(パーマリンク形式を変更した場合にエラー表示された場合) – WordPressの使い方
Webサーバー構築(Apache) – CentOSで自宅サーバー構築
VPSなどで、WordPressのパーマリンクの設定がうまくいかない時 – Shinichi Nishikawa’s