Drupal 7でクリーンURLを有効にする

さくらのVPS上で、Drupal7のお試しサイトを弄っているとき、クリーンURLが有効になっていないことに気がついたので、設定を見直してみました。

管理メニューから環境設定→クリーンURLをクリックしたのですが、いつもの「クリーンURLを有効にする」チェックボックスが現れません。「設定を保存」ボタンのラベルが、「クリーンURLテストの実行」になっているので、取り敢えずこのボタンを押してテストを実行してみましたが、失敗です。

CleanURLsTest
スポンサーリンク
スポンサーリンク

クリーンURLを有効にするための3つのチェックポイント

クリーンURLの設定というのは、WordPressでいえばパーマリンク設定に当たります。例えばwww.hogehoge.jp/?q=userというURLがwww.hogehoge.jp/userという風に読みやすいURLに変換することをいいます。これらの機能を使うには、Apacheのmod_rewriteが有効になっていることが必要です。そこで、先ずは、次の3点から確認してみました。

mod_rewriteが有効になっていなければ端末から次のコマンドを実行

 
sudo a2enmod rewrite 
 

.htaccessファイル中の次の4行がコメントアウトになっていないかを確認。

RewriteCond %{REQUEST_FILENAME} !-f	 
RewriteCond %{REQUEST_FILENAME} !-d	 
RewriteCond %{REQUEST_URI} !=/favicon.ico	 
RewriteRule ^ index.php [L]

・ モジュール管理画面で、Pathモジュールのチェックボックスが外れていないかどうかの確認。

apache2.confファイルへの追記で正常化

以上の3つのチェックポイントを確認しましたが、それでもだめだったので、次に/etc/apache2フォルダ中のapache2.confファイルを疑ってみました。

apache2.confファイルを弄った覚えはありませんが、念のため、次の3行を追記しました。

<Directory /home/www/drupal/>
    AllowOverride All
</Directory>

ファイルを保存した後、次のコマンドで設定を反映させます。

sudo service apache2 reload
 

ここで、もう一度、クリーンURLの設定画面に行くと、いつもの「クリーンURLを有効にする」チェックボックスが現れました。

CleanURLsTest02

これで、いつものようにクリーンURLの設定のオン・オフができるようになりました。

ただ、apache2.confファイルに追記した内容は、セキュリティやメンテナンス性を考えて、本来は/etc/apache2/site-enabled内のバーチャルホスト設定ファイルに書き込むべきものだろうと思います。

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