1

Google でインデックスされたページをクリックすると、クエリ文字列のプラス記号が %252520 に置き換えられます (エンコードされますか?)。

理由を知っている人はいますか?

例:

lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2

する必要があります

lovelakedistrict.com/result/?q=Private+car+park&page=2

これは htaccess で URL をリダイレクトした結果だと聞きました。

4

2 に答える 2

3

%20URI クエリでスペースが使用されている場合は、 (パーセント エンコーディング) または+(フォームの application/x-www-form-urlencodedコンテンツ タイプ)で置き換える必要があります。あなたの場合、データは3回エンコードされているようです(%でエンコードされてい%25ます)。

これらのルールを試して、そのようなシーケンスを次のように置き換えます+

RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*?%(25)+20.*)
RewriteRule ^ %{REQUEST_URI}?%1+%3 [N]
RewriteCond %{QUERY_STRING} (.*?)%(25)+20(.*)
RewriteRule ^ %{REQUEST_URI}?%1+%3 [L,R=301]
于 2010-09-01T15:47:36.383 に答える
2

実は文字で%25あり、空間です。つまり、URIは3回エンコードされたようです%%20

http://www.lovelakedistrict.com/result/?q=Private car park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%20car%20park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%2520car%2520park&page=2 =>
http://www.lovelakedistrict.com/result/?q=Private%252520car%252520park&page=2

ご覧のとおり、a%はとしてエンコードされてい%25ます。
したがって、最初%20にスペースを取得し、次にaを取得し%25、その後に同じエンコーディング%%20続けます。20

リンクがGoogleに提供される前に、プロセスに何か問題がある可能性があります。

于 2010-09-01T15:53:17.893 に答える