Help us understand the problem. What is going on with this article?

Drupal7のクリーンURLを有効にするためのapache設定

More than 5 years have passed since last update.

Webサイト制作はもっぱらDrupalで作ってるsutekicut。
海外ではWordPressと並んで有名なCMS(最近はCMSというよりほとんどWebフレームワーク化してる)
最初は難しいけど、なれればかなり細かいカスタマイズがけっこう簡単にできるのでとてもよい。

Drupal初心者のときに
仮想サーバーをたてて、Drupal7をインストールしようとしたときのメモ。
※自分の勉強と将来迷われた方のためにメモを書いています。
まだまだ経験が浅く理解が足りない部分、間違っている部分はあると思いますが、そんなときはぜひ容赦のないツッコミを!(ドMなのでw)

ハード構成
Machine:Windows Hyper-V
OS:CentOS6
Server:httpd2.2、PHP5.3、MySQL5.5

クリーンURLが設定できない・・・

クリーンURLとは??
DrupalにはクリーンURL機能が搭載されている。
クリーンURLとは、URLに記載されるGETパラメータを見かけの上で整形する。
※Drupal内部では、きちんとGETパラメータ付きのURLとして解釈される。

<具体例>
■内部的パス(Drupalが解釈するURL)
http://hoge.com/?q=node/83(←GETパラメータ)

■クリーンURL(ブラウザ上で表示されるURL)
http://hoge.com/node/83

環境構築設定画面で設定しようとしても、グレーアウトした状態で有効にできない!

Apacheの設定をちゃんと書かねば・・・

クリーンURLの書き換え処理はDrupal内部の.htaccessで行うみたい。
=>ということは.htaccessの使用を許可する処理を書けばいいわけだな。

なんでApacheの設定でDirectoryディレクティブAllowOverride ALLをちゃんと記載する。

httpd.conf
<Directory "/var/www/drupal-7.15">
  AllowOverride All
</Directory>

・AllowOverrideは.htaccessによる制限を許可する
<Directory>ディレクティブは中に書いた命令の適用範囲をサーバー内のディレクトリで指定する。
<Location>ディレクティブもあって、こちらはURLで適用範囲を決める。
もし、DrupalのDocumentRootが/var/www/drupalだった場合。

httpd.conf
<VirtualHost *:80>
  DocumentRoot /var/www/drupal
  ServerName drupal-codeip.com
  ##こいつらは同じ適用範囲になる

  #サーバー内では/var/www/drupalでDocumentRootにしたので→http://drupal-codeip.com/以下
  <Directory "/var/www/drupal">
  </Directory>

  <Location "/">#(URL上の適用範囲→http://drupal-codeip.com/以下)
  </Location>
</VirtualHost>

これでクリーンURLが設定できるようになった!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away