[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
Ubuntuでは、apache2をインストールした時に、デフォルトでmod_rewriteがインストールされている
しかし、有効になっていないので、それを有効にする作業が必要
% cat /etc/apache2/mods-available/rewrite.load
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
% 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
よく httpd.conf というファイル名で見られる、いわゆるapacheの設定ファイルみたいなものは、Ubuntuでは、apache2.confであり、しかも、AllowOverrideについては、そのファイルではなく
/etc/apache2/sites-available/default
に書き込むのだそうだ
私自身は結構ハマったところだが、Ubuntuを使い慣れている方は大丈夫なのだろう
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# AllowOverride None
AllowOverride All
Order allow,deny
allow from all
</Directory>
そしてapacheを再起動する
% sudo service apache2 restart
パーマリンク設定をデフォルト以外にして更新すると、wordpressフォルダの下に.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