1

以下を達成する必要があります: ホワイトリストにないパラメータが使用されている場合に備えて、.htaccess ファイルを使用して URL を書き換えます。

例: ホワイトリストに登録されたパラメーター: 電話、ファックス、郵便番号

Input URL:     http://hostname/adress?phone=1234567890
Resulting URL: http://hostname/adress?phone=1234567890

Input URL:     http://hostname/contacts?fax=1234567
Resulting URL: http://hostname/contacts?fax=1234567

Input URL:     http://hostname/test?zip=1234
Resulting URL: http://hostname/test?zip=1234

Input URL:     http://hostname/test?phoneHack=1234567890
Resulting URL: http://hostname/test

Input URL:     http://hostname/mytest?anotherParam=1234567890
Resulting URL: http://hostname/mytest

これまでのところ私の発見:

RewriteCond %{QUERY_STRING} ^(phone|fax|zip)
RewriteRule .* http://hostname/%{REQUEST_URI}?%{QUERY_STRING}

テストするツール: http://martinmelin.se/rewrite-rule-tester/

4

1 に答える 1

0

このルールを否定とともに使用できます。

RewriteEngine On

RewriteCond %{QUERY_STRING} ^.+$
RewriteCond %{QUERY_STRING} !^(phone|fax|zip)= [NC]
RewriteRule ^ %{REQUEST_URI}? [L,R=301]

?最後に、元の URL から QUERY_STRING を削除します。

于 2013-11-01T14:29:26.513 に答える