2010年3月13日

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

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

笹尾です。

On Sat, 13 Mar 2010 19:52:04 +0900
"fujioka" <qhtsige@xxxxx> wrote:

> 頂いたアドバイスの内、次を試しました。いずれもregular expression エラーとなります。
>
> ^([0-9A-Za-z_\.'=%-]+)\.html$     -の位置を最後にする(%が無ければOK)
> ^([0-9A-Za-z_\.'=%" "-]+)\.html$     空白を””で囲む(%が無ければOK)
>
> なお=.とも必要です。

やりたいことを実現するには、
RewriteRule "^([0-9A-Za-z\.'_ =-]+)\.html$" htmpage2.php?yspec=$1 [L]
で良いかと思います。これでcompile errorになる場合、
使っているApache等のバージョンを教えてください。

ダブルクォートで囲むのは「ルール」です。空白文字だけを囲むと、
RewriteRuleの1つ目のパラメータが^([0-9A-Za-z_\.'=%" で、
2つ目のパラメータが "-]+)\.html$ という妙なことになってしまいます。

> ^([0-9A-Za-z_\.'=%-]+)\.html$     -の位置を最後にする(%が無ければOK)
がREエラーという件は、このルールだけを指定していて、
この行が原因で出ているエラーでしょうか。

=を含むファイル名の扱いは、先のメールで2つ方法を書きましたが、
mod_rewriteで=を%3Dに置換するという方法もありますね。


--
笹尾 卓宏 @ P-strain <sasao@xxxxx>

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


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




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