2016-11-04 29 views
0
# case: leading and trailing parameters 
RewriteCond %{QUERY_STRING} ^(.+)?session=[0-9a-z]+&(.+)$ [NC] 
RewriteRule (.*) /$1?%1&%2 [R=301,L] 

# case: leading-only, trailing-only or no additional parameters 
RewriteCond %{QUERY_STRING} ^(.+)?session=[0-9a-z]+$|^osCsid=[0-9a-z]+&?(.*)$ [NC] 
RewriteRule (.*) /$1?%1 [R=301,L] 

URLは次のとおりです。 https://www.test.com/test/?session=123htaccessファイル:URLからパラメータを削除

これは?session=123を遮断べきではないでしょうか。

もしそうでない場合、どうすればいいですか?

答えて

1

あなたはどこにでも、クエリ文字列内からパラメータを削除するには、このルールを使用することができます。

RewriteCond %{QUERY_STRING} ^(.*&)?session=[^&]*(?:&(.*))?$ [NC] 
RewriteRule^%{REQUEST_URI}?%1%2 [L,R=301,NE] 
+0

ニース、動作します。もう1つのことは、セッションの値が "\"で始まる場合にだけ削除することができますか?私は試しました:RewriteCond%{QUERY_STRING} ^(。*&)?session = \ [^&] *(?:&(。*))?$ – aeroncy

+0

申し訳ありませんでした。値が二重引用符で始まる場合のみ、このパラメータを削除しますか? – anubhava

+0

ほぼ値がバックスラッシュで始まる場合はパラメータを削除したい – aeroncy

関連する問題