2010年3月13日

[Apache-Users 7651] Re:.htaccess のrewriteルール

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

沢山のご返事ありがとうございます。
最初に変換したいURLは間違っていたことをお詫びします。(やりたいことのご指摘とおりです)

要求されたURL1 http://localhost/Rosa_/'Matilda/'.html
変換したいURL1 http://localhost/htmpage2.php?yspec=Rosa_/'Matilda/'.html

/記号は削除されても、そのままでも良い。

要求されたURL2 http://localhost/Anemone%20debilis.html
変換したいURL2 http://localhost/htmpage2.php?yspec=Anemone%20debilis
ここで%20はPHPで受けたとき空白に置き換わっていてもよい。
これらのURLはログファイルにあったものです。

上記のような想定していないURLを受けた場合は、PHP側で解釈するようにしているのですが、そもそも上記の場合は、htmpage2に渡らず(つまりrewriteruleでマッチしない)、404エラーになる問題を考えていました。そのような状況で投稿時に、phpでの変換と混同してしまいました。混乱して申し訳ありませんでした。

再度、問題を整理しますと、上記のURLの場合にも、htmppage2に渡されるようにしたいことがやりたいことです。
PHPに渡りさえすれば、何とか解釈するようにできると思っています。
もう少し背景を補足しますと、大部分のリクエストは問題ないのですが、ごく一部に上記のような変な変換をしてクロールするクローラがあるのです。ですので、これらは放置しても(現状)問題は無いのですが、救える物は救ってやろうという意図です。


頂いたアドバイスの内、次を試しました。いずれもregular expression エラーとなります。

^([0-9A-Za-z_\.'=%-]+)\.html$     -の位置を最後にする(%が無ければOK)
^([0-9A-Za-z_\.'=%" "-]+)\.html$     空白を””で囲む(%が無ければOK)

なお=.とも必要です。

再度よろしくお願いします。

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


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




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