htaccess 301从%20或空格重定向到加号

时间:2014-07-25 12:18:02

标签: php .htaccess mod-rewrite redirect

我的旧网址可能包含一个或多个空格。在浏览器中,它们显示为%20,这也是Google网站管理员工具告诉我的内容。最近我在内部更改了所有动态生成的URL,以便它们不再生成空格,而是加号(+)。问题在于大量的网址空间已经被google和pals编入索引,这使得它们成为具有相同内容的重复网页。

我在SO上也经历了数以万计的相关答案,遗憾的是没有什么对我有用。在我放弃之前,这是我尝试的最后一条htaccess规则:

redirectMatch 301 /book_list.php?(.*)\s|%20(.*)$ http://www.example.com/book_list.php?$1+$2

但它不会导致任何重新定向。地址栏仍显示带有空格或%20的网址。

这是我想重定向的示例网址示例:

相应的重新指示应该是: http://www.example.com/book_list.php?searchtype=author&search=John+Grishamhttp://www.example.com/book_list.php?searchtype=title&search=Fire+in+the+Hall

我已经在所有网页上添加了规范网址作为网址+ +加+标记,希望有点帮助......

0 个答案:

没有答案