0

URL の書き換えは初めてで、少しイライラしています。サーバーで Helicon を使用しており、ほとんどの URL を正しく書き換えることができました。

(質問を送信できるように「//」を削除する必要がありましたが、URL は標準の http:// バージョンです)

私の最後の仕事は、これらを取得することです:

http://example.com/Object/?page=1

http://example.com/Object/?page=1&pagesize=10

http://example.com/Object/?page=1&pagesize=10&backcolor=red

http://example.com/default.aspx?resource=Object&page=1

http://example.com/default.aspx?resource=Object&page=1&pagesize=10

http://example.com/default.aspx?resource=Object&page=1&pagesize=10@backcolor=red

できれば 1 つのルールで 3 つの可能性すべてを処理したいのですが、3 つのルールを作成する必要がある場合は、それぞれに 1 つずつ、最後に [L] などを追加しても問題ありません。クエリ文字列の解析を正しく行うことができません。

これは、私が何をしてきたかを理解するのに役立つ、私が持っている既存のルールです。

RewriteRule ^/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+))?)?/?($|\?) /default.aspx?resource=$1&id=$3&option=$5 [L]

別の例ですが、構文は私が何をしているかを示しています。

4

1 に答える 1

0

これはあなたのために働きますか?

RewriteRule ^\/([^/]*)\/\?(.*)$ /default.aspx?resource=$1&$2 [L]

[アップデート]

これを試して:

RewriteRule ^([^/]*(?=\/)|[^?]*(?=\?)|.*)($|[^\?]*\?(.*)) /default.aspx?resource=$1&$3 [L]
于 2012-09-27T21:00:16.533 に答える