链接中的ASCII字符产生404错误

时间:2012-11-01 16:12:03

标签: .htaccess url-rewriting query-string ascii

我曾经在我的所有网址中都有一个查询字符串?q =。我现在让这些网址重定向到别名。

RewriteRule ^(.*)$ index.php?q=$1 [L,NC] RewriteCond %{QUERY_STRING} ^q=(.*)$ [NC] RewriteRule ^$(.*) /%1? [R=301,L,NE]

不幸的是,其他网站以这种方式链接到我网站上的网页www.example.com/%3Fq%3Dfaqs。我将我网站上的所有链接更改为绝对,但不知何故谷歌索引了数百页,看起来像www.example.com/%3Fq%3Dfaqs?q=contact或www.example.com/%3Fq%3Dfaqs%3Fq% 3Dcontact。 有没有办法可以使用htaccess或其他方法将这些ASCII码重写回符号?

1 个答案:

答案 0 :(得分:0)

我通过编写像Redirect 301 /?q=faqs example.com/?q=faqs这样的行来解决这个问题。这个重定向/%3Fq%3Dfaqs重定向到/ faqs的/?q = faqs。可能不是最好的方法,但它确实有效。