[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 メーリングリストの案内