0

次のようなURLを照合しようとしています

http://www.example.org/?h=b1c60d1bf7c7119fef9fc726068e1418166.xml

また

?h=b1c60d1bf7c7119fef9fc726068e1418166.jsonp&callback=testing

次のように書き直します。

?h=b1c60d1bf7c7119fef9fc726068e1418166&output=true&format=true&data_type=xml

また

?h=b1c60d1bf7c7119fef9fc726068e1418166&output=true&format=true&data_type=jsonp&callback=testing

これが私が思いついた正規表現を含む.htaccessファイルです。

RewriteEngine On

RewriteBase /
RewriteRule ^/?\?h=([a-z0-9]+)\.(xml|json|jsonp|rss)(\&callback=[a-z_0-9]+)?$ ?h=$1&output=true&format=true&data_type=$2&callback=$3 [L,NC,QSA]

これが一致しない理由はありますか?私はこれをサーバー環境とhttp://htaccess.madewithlove.be/でテストしましたが運がありませんでした。

4

1 に答える 1

0

RewriteRuleクエリと一致しません。ファイル/ディレクトリ名をパスするだけです。

クエリを操作するために使用RewriteCond %{QUERY_STRING}します。

于 2012-11-27T21:32:09.313 に答える