search
LoginSignup
7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

WordPressのパーマリンクが表示されないときの解決法(ubuntu × apache2)

WordPressで結構引っかかることが多いのが、サーバとの兼ね合い
特にパーマリンクがうまくつながってくれない問題は、よく起こるのでは
ググって出てくるのは、AllowOverride None を All にしろとばかり
もうやってるっちゅーの!!
半泣きになりながらも、解決法を探っていたら、やっと見つけた
Ubuntu独特のmoduleを有効にする方法が、躓きの原因だったようだ

mod_rewriteを有効にする

Ubuntuでは、apache2をインストールした時に、デフォルトでmod_rewriteがインストールされている
しかし、有効になっていないので、それを有効にする作業が必要

rewrite.loadがあることを確認する

% cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

mod_rewriteを有効にする

% sudo a2enmod rewrite

有効になったことを確認する

% ls -al /etc/apache2/mods-enabled/rewrite.load
lrwxrwxrwx 1 root root 30 Feb  2 20:12 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load

apache設定ファイルのAllowOverrideを書き換える

よく httpd.conf というファイル名で見られる、いわゆるapacheの設定ファイルみたいなものは、Ubuntuでは、apache2.confであり、しかも、AllowOverrideについては、そのファイルではなく
/etc/apache2/sites-available/default
に書き込むのだそうだ
私自身は結構ハマったところだが、Ubuntuを使い慣れている方は大丈夫なのだろう

/etc/apache2/sites-available/default
<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
#   AllowOverride None
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

そしてapacheを再起動する

% sudo service apache2 restart

WordPressのパーマリンクRewrite設定を確認する

パーマリンク設定をデフォルト以外にして更新すると、wordpressフォルダの下に.htaccessが生成される
自動生成されない場合は、以下のファイルを.htaccessとしてアップロードすればよいが、そもそも.htaccessが自動生成されない環境では、今後も問題が起こるのではないかと思う
その.htaccessが正しく書かれているか確認する

.htaccess
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress

参考にしたサイト↓
How to enable mod_rewrite in Apache2 on Debian or Ubuntu
WordPressの引越しでパーマリンクの404 Not Foundエラーが発生

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
7
Help us understand the problem. What are the problem?