www を non にリダイレクトすることは正常に機能していますが、%2520 のすべての出現箇所をスペースに変えて、それらを組み合わせると QUERY_STRING を使用すると失敗するようです。私は RewriteCond と RewriteRule を組み合わせて Google で調べたり、SOed したりしましたが、これがどのように機能するかに近いとさえ思われる例を見つけることができません。私が解決したのは、おそらく (.*) 正規表現を悪用しているということだけです。完全な正規表現と mod_rewrite の noob がここにあります - 悪意のあるコメントはご遠慮ください :-) よろしくお願いします!
私はこれとその逆を試しました:
RewriteCond %(HTTP_HOST) ^www.mywebsite\.com$
RewriteRule (.*) http://mywebsite.com/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^(.*)(%2520)(.*)$
RewriteRule ^(.+)$ $1?%1\ %3 [N,R=301]