.htaccessが効かない!URL rewriteができない原因と解決法

URL を rewrite したくて .htaccess に RewriteRule を記述したが、うまくいかない事態に陥る。解決するために確認したことの覚書。

1.mod_rewrite は有効になっているか

mod_rewriteはApacheのモジュール。mod_rewriteを利用することでURLの書き換えやリダイレクトを指定することができる。

有効になっているかの確認

$ httpd -M | grep rewrite
~中略~
 rewrite_module (shared)

rewrite_module があることを確認。つまり有効になっているので別の原因を探る。

2..htaccess の設定は有効になっているか

.htaccess が使える設定でないと当然 rewrite できない。
確認する場所は httpd.conf 内の「AllowOverride」の部分。

~中略~
AllowOverride None

AllowOverride ディレクティブが None。
これでは設定を上書きできないので、次のように書き換える。

AllowOverride ALL

apache を再起動して、リダイレクトできるようになった。

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