WordPressのパーマリンクがNotFoundになる

技術

下記エラーの対処方法

Apacheの設定変更

設定 -> パーマリンク設定 -> カスタム構造: [/%category%/%postname%]
に設定したので、URLの書き換え(rewrite)が必要になる。

# モジュールがあるか確認
cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

# モジュールが有効か確認
apachectl -M | grep rewrite

# モジュールを有効にする
sudo a2enmod rewrite

# Apache を再起動
sudo /etc/init.d/apache2 restart

# 有効になってるか確認(mods-enabledにシンボリックリンクが生成されてる)
ls -al /etc/apache2/mods-enabled/rewrite.load
lrwxrwxrwx 1 root root 30 11月  4 16:12 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load

# 有効になったわーい
apachectl -M | grep rewrite
rewrite_module (shared)

# .htacccess を確認
cat /var/www/html/wordpress/.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]

# [AllowOverride None]をコメントアウト 
# [AllowOverride All]を追記
# ([AllowOverride FileInfo]はなぜか動作しなかった)
sudo vim /etc/apache2/apache2.conf # Directory /var/www/ を編集すること
<Directory /var/www/>
    Options Indexes FollowSymLinks
    #AllowOverride None
    AllowOverride All 
    Require all granted
</Directory>
</IfModule>

 

cf. WordPressのパーマリンクが表示されないときの解決法(ubuntu × apache2)
https://qiita.com/hyperkinoko/items/de018714c95e675fd5f9

cf. WordPressのパーマリンク変更でNot Foundの対処法
http://www.eastforest.jp/wordpress/3279

cf. [Apache] Options と AllowOverRide の設定値を改めて整理してみる
http://bashalog.c-brains.jp/10/11/16-121901.php

コメント

タイトルとURLをコピーしました