2008年6月23日

[Apache-Users 7063]RewriteRule ^/ でマッチしない

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

田中@tyukio.netです。
また恥かくだけかもしれませんが

質問: RewriteRule ^/ でマッチしないのはバージョンに依存するものなのか
それとも何か設定によるものなのでしょうか?


状況:
http://hoge.example.com/a.htm の場合
RewriteRule ^/a.htm /b.htm [R] と書くとマッチせず
RewriteRule ^a.htm /b.htm [R]  だとマッチします。

しかし 巷の解説サイトやこのMLでも ^/ でマッチするように書かれています
最初に試したのは Fedora9+Apache2.2.8+suexec ですが
suexec外してみたり
RewriteBase /var/www/tyukio/www や RewriteBase /var/www/tyukio/www/
も試し
他のPCに入れた Vine4.2+Apache2.2.3や1.3.41でもやりましたが同じ結果

でApacheのマニュアル
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteBase
http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritebase
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritebase
を見ましたが、いずれにも
RewriteRule ^oldstuff\.html$ newstuff.html
と ^ の後ろに / がついていませんでした。

で 確認するために 環境変数一覧表示するCGIを書き file名を env.cgi とする

RewriteEngine On
RewriteCond %{REQUEST_URI} !env.cgi
RewriteRule ^(.*)$ /env.cgi?$1 [R]

なんてのを置いて http://hage.example.com/abcde にアクセスすると
QUERY_STRING の値は /abcde ではなく abcde となり頭の / は入らない
http://hage.example.com/a/b/c/d/e
だとQUERY_STRING は a/b/c/d/e となり やはり頭の / は入らない

その他いろいろ調べて
http://www.apache.org/dist/httpd/CHANGES_1.3

*) Recognize platform specific root directories
(other than leading slash)
in mod_rewrite for filename rewrite rules.
Bugz# 7492 [William Rowe]

と言う記述が有りましたが、関係有るのやら無いのやら良く判りませんでした

大変お手数ですが 何かご存知でしたら教えください。

--
入退会・変更・配送一時停止は以下へ
http://mm.apache.jp/mailman/listinfo/apache-users


投稿者 xml-rpc : 2008年6月23日 19:44
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/74554
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。