【发布时间】:2012-10-22 06:39:37
【问题描述】:
我曾经在我的所有网址中都有一个查询字符串 ?q=。我现在将这些 url 重定向到别名。
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% 的页面3D接触。 有没有办法可以使用 htaccess 或其他方法将这些 ASCII 代码重写回符号?
【问题讨论】:
-
第二条规则没有意义!您正在寻找结束后的字符串。
-
你在说这个吗? '^q=(.*)$' 应该是什么?此代码可以将我的网址从 example.com/?q=faqs 带到 example.com/faqs,但当这些符号替换为 %3F 和 %3D 时不起作用。
-
这里没有这部分:^$(.*) 无论如何,目前我不明白 url 编码的 URL 是如何产生的。
-
他们来自像 semisland.com/uscooler.com 这样的 seo 网站 他们甚至不是链接,但谷歌正在关注他们。我网站上的索引页面从 200 个增加到 1000 多个(不好)。
-
搜索引擎优化网站?你的意思是链接农场让你的排名更高?根本不要那样做!那是作弊。
标签: .htaccess url-rewriting query-string ascii