はにわまん
WordPressのパーマリンクが反映されない場合に確認したいサーバーの3箇所をまとめました
目次
.htaccess
wordpressをインストールした場所の直下(wp-adminとか同じ場所)に、.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
mod_rewriteモジュールが読み込まれているか
LoadModule rewrite_module modules/mod_rewrite.so
apacheの設定ファイルに上記が存在することを確認します。(コメント(#
)がついていたら削除してください。)
設定ファイルの場所
CentOS 6 系
sudo vi /etc/httpd/conf/httpd.conf
CentOS 7 系
sudo vi /etc/httpd/conf.modules.d/00-base.conf
AllowOverride All
AllowOverride
は.htaccessファイルの記述内容に対してどういった許可を与えるかの設定になります。
パーマリンクの設定を変更すると.htaccessファイルに設定が書き込まれるわけですが、そもそもAllowOverride
で許可されていないと設定は反映されません。
sudo vi /etc/httpd/conf/httpd.conf
の中の.htaccessファイルが設置されるフォルダの設定場所を探します。(大抵は/var/www/html
)
<Directory "/var/www/html">
この中のAllowOverride
をAll
にしてあげてください。
AllowOverride All
おわり
自分でサーバーを管理すると、色々と面倒な作業が発生しますね…。WordPressのパーマリンクが反映されない場合は、今回の3箇所を確認してみてください。