このスレッドは解決済です(未解決に戻す場合はこちら)
<<戻る

RewriteEngineを.htaccessで利用できない このメッセージに返信する
日時: 2009/03/19 22:56
名前: T3
URL:
centossrv.com様には、大変お世話になっております。
またお忙しいところご覧いただき、ありがとうございます。


CentOS3.2を、デスクトップPCにクリーンインストールしました。
そして、「Webサーバー構築(Apache)http://centossrv.com/apache.shtml」に倣い、Apache2.2.3をインストールしました。
このマシンをLANに接続し、このLANに接続された他のPCから仮想マシンへhttpでアクセスしたところ、正常にトップページが表示されました。


ここで、apacheのmod_rewriteを利用したいと思い、httpd.confに
 LoadModule rewrite_module modules/mod_rewrite.so
があらかじめ書かれていた事を確認し、
httpd.confに以下の2行を追加しapacheを再起動しました。
 RewriteEngine on
 RewriteRule ^/(.*)$ http://www.google.jp/$1 [L]
結果、トップページへアクセスしたら、きちんと自動的にgoogleに転送されるようになりました。


次は、この設定を.htaccessで指定できるようにしたいと考え、httpd.confの先の2行をコメントアウトし、AllowOverrideで始まる行(6箇所)をすべて
 AllowOverride All
としました。
その後トップページのディレクトリに、.htaccessを用意し、
 RewriteEngine on
 RewriteRule ^/(.*)$ http://www.google.jp/$1 [L]
と記入し、apacheを再起動しました。
しかし、トップページにアクセスしてもgoogleに転送はされませんでした。


.htaccessが読まれていないのかと思い、.htaccessを以下のように書き換えてみました。
 AuthType Basic
 AuthUserFile "/var/www/html/.htpasswd"
 AuthName "SS-Server"
 Require valid-user
すると、トップページにアクセスするときちんとベーシック認証のウィンドウが出て、パスワードを求められました。AuthConfigは稼働しているものと思います。
また、/var/www/html/より上位ディレクトリに、.htaccessは全くありませんでした。
.htaccessのパーミッションは644です。


まとめますと、httpd.confにて、AllowOverride をすべてAllにしたにも関わらず、
.htaccessを用いてAuthConfigは利用できるのに、RewriteEngineは機能しません。

バイブルや検索エンジンを3日間探しましたが、解決の糸口が見つかりませんでした。
可能性として考えられる事がございましたら、ご教授いただけませんでしょうか。

お忙しいところ恐縮ですが、どうかよろしくお願いいたします。




以下、アクセスしたタイミングのaccess_logです。
↓↓
192.168.2.50 - - [19/Mar/2009:16:23:00 +0900] "GET / HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
192.168.2.50 - - [19/Mar/2009:16:23:00 +0900] "GET /img/logo.gif HTTP/1.1" 304 - "http://192.168.2.4/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
192.168.2.50 - - [19/Mar/2009:16:23:00 +0900] "GET /img/def.css HTTP/1.1" 304 - "http://192.168.2.4/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
192.168.2.50 - - [19/Mar/2009:16:23:00 +0900] "GET /img/foot_logo.gif HTTP/1.1" 304 - "http://192.168.2.4/" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"
192.168.2.50 - - [19/Mar/2009:16:23:00 +0900] "GET /img/bg.jpg HTTP/1.1" 304 - "http://192.168.2.4/img/def.css" "Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7"


error_logには、該当時刻のログはございませんでした。
記事編集 編集
Re: RewriteEngineを.htaccessで利用できない このメッセージに返信する
日時: 2009/03/19 23:00
名前: T3
URL:
申し訳ありません、間違えました。
「仮想マシン」> 「デスクトップPC」です。
記事編集 編集
Re: RewriteEngineを.htaccessで利用できない このメッセージに返信する
日時: 2009/03/20 00:04
名前: ken
URL:
これ結構はまるんですよね。
httpd.confで動いて.htaccessじゃだめとか・・・。
スキルがないせいかいつも苦労してます(^^;)

したじゃ飛びませんかね?
RewriteRule .*$ http://www.google.co.jp/ [L]

これでだめならわかりません(;_;)
記事編集 編集
Re: RewriteEngineを.htaccessで利用できない このメッセージに返信する
日時: 2009/03/21 01:38
名前: T3
URL:
ken様
ご返信ありがとうございます。

ご提案頂きました設定に倣いまして、
 RewriteEngine on
 RewriteRule .*$ http://www.google.co.jp/ [L]
と書いた.htaccessを、/var/www/html に設置してみました。

このページにwebブラウザでアクセスしてみたら、下のようなメッセージがブラウザに表示されました。

-----------------------------
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, a@b.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
-----------------------------

現状では望む挙動は得られませんでしたが、.htaccess内のRewriteEngineの定義の存在自体はapacheが気づいてくれた?ような印象です。
記事編集 編集
Re: RewriteEngineを.htaccessで利用できない このメッセージに返信する
日時: 2009/03/22 01:34
名前: T3
URL:

VMwareを使い、仮想マシンでもう一度同じ環境を準備し、

 RewriteEngine on
 RewriteRule .*$ http://www.google.co.jp/ [L]

と書いた.htaccess を設置しましたら、きちんと転送されるようになりました。
この環境をデスクトップに持っていこうと思います。

ken様、その他スレッドを覗いてくださった皆様、
本当にありがとうございました。
記事編集 編集
件名※必須
名前※必須
URL
任意のパスワード (投稿後のコメント修正・削除時に使用)
画像認証※必須 投稿キー(画像で表示されている数字を入力)
コメント※必須

※質問を投稿後に自己解決された場合は、原因と行った対処を具体的に書き込み下さるよう、よろしくお願いします。

- WEB PATIO -