ホームページをリニューアルしました。旧HPはこちら
wordpress ソフト・ハードウェア Linux

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

 
 

下記の参考記事で、ようやくパーマリンクの変更が可能になった。 感謝!


参考URL: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

The above command will create a symbolic link in /etc/apache2/mods-enabled.
有効になったことを確認する

% 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/000-default.conf に書き込むのだそうだ。私自身は結構ハマったところだが、Ubuntuを使い慣れている方は大丈夫なのだろう。

/etc/apache2/sites-available/000-default.conf
<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

コメント

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