[Apache-Users 7655] Re: .htaccess のrewriteルール
fujioka
qhtsige @ apost.plala.or.jp
2010年 3月 13日 (土) 22:54:50 JST
藤岡です
笹尾さまへ
> ダブルクォートで囲むのは「ルール」です。
なるほど、ルール全体を囲むのでしたか。そのようにしますとOKとなりました。
下記の通り適当な文字列を試しました。
左より ルール文字列 、 リクエストURL 、 htmpage2.phpに渡った文字列
"^([0-9A-Za-z_.'= /-]+)\.html$" Poa%20alpina_/'sp/p/'/.html Poa
alpina_/'sp/p/'/
%20は空白に置き換えられる OK
"^([0-9A-Za-z_.'= %/-]+)\.html$" Poa%20alpina_/'s%p/p/'/.html アドレスバーでエラー
ルールが一致しない (この必要性はない)
"^([0-9A-Za-z_.'= %/-]+)\.html$" Poa%20alpina_/'s%33p/p/'/.html Poa
alpina_/'s3p/p/'/
%33が数字の3の置き換えられる ok
"^([0-9A-Za-z_.'= \%/-]+)\.html$" Poa%20alpina_/'s%p/p/'/.html アドレスバーでエラー
ルールが一致しない (この必要性はない)
%記号単独はだめで、 %xx なるエスケープシーケンスでなければならないことがわかりました。
ということで、"^([0-9A-Za-z_.'= /-]+)\.html$" であれば、目的が達せられました。
色々ご教示ありがとうございました。
Apache-Users メーリングリストの案内