酒飲んで、車いじって、トロンボーン吹いて、寝る。そんな生活に憬れる今日この頃。
日記の更新は気の向くまま、つれづれなるままに・・・

mod_rewriteが有効にならない

drupalの「クリーンURL」機能を使おうとしたのだが、管理画面は無効のままグレーアウト。
読むと「apachemod_rewriteを有効にせよ」とのことなので、素直に

# a2enmod rewrite

をして再起動したわけです。あ、システムはdebian + apache2です。



で、もう一度管理画面を見てみると、まだグレーアウトのまま無効になっている。
うーん、と思って、もう一度サーバの設定を確認してみる

# apache2ctl -M

としてloadされているモジュールをみると、ちゃんとrewrite_module(shared)がある。
「なんでだー?!」とAllowOverrideを疑って.htaccessや/etc/apache2/apache2.conf、そして/etc/apache2/sites-availableの設定ファイルを確認してみたが、何度見ても「AllowOverride All」がちゃんと記述されている。



ふえぇ・・・と思って/etc/apache2/mods-enabledを眺めてみたら

# ls -l

lrwxrwxrwx 1 root root 28 2007-08-17 22:54 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 2007-08-17 22:54 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 2007-08-17 22:54 authn_file.load -> ../mods-available/authn_file.load
・・・
lrwxrwxrwx 1 root root 0 2007-09-11 10:58 rewrite.load -> ../mods-available/rewrite.load
・・・

となっていた。
「ん?なぜファイルサイズが0?」と思い、リンクを作り直してみた

# rm /etc/apache2/mods-enabled/rewrite.load
# a2enmod rewrite
# ls -l

lrwxrwxrwx 1 root root 28 2007-08-17 22:54 alias.load -> ../mods-available/alias.load
lrwxrwxrwx 1 root root 33 2007-08-17 22:54 auth_basic.load -> ../mods-available/auth_basic.load
lrwxrwxrwx 1 root root 33 2007-08-17 22:54 authn_file.load -> ../mods-available/authn_file.load
・・・
lrwxrwxrwx 1 root root 30 2007-09-11 10:58 rewrite.load -> ../mods-available/rewrite.load
・・・
# /etc/init.d/apache2 force-reload

としたあとに管理画面を見たところ、クリーンURLを有効にすることができるようになりました。(^^)v


でもって、この/etc/apache2/mods-enabledにファイルサイズ0のリンクが数個(しかもperlとuserdirでした(w)あったので、こちらもきちんとリンクを作成しなおしました。




でも、なんで不良リンクができたんだろう・・・