我遇到了将旧的Google地图网址重定向到新网址的问题。我有新的链接(在组件更新后),但我想让旧的链接工作。
这是旧的
domain.com/index.php?option=com_xmap&sitemap=1&view=xml
这是新的
domain.com/index.php?option=com_xmap&view=xml&tmpl=component&id=1
请帮我重定向一下:)
答案 0 :(得分:0)
我认为以下重定向可行。当查询字符串中没有id=
时,它会重定向,并将id=somenumber
附加到查询字符串,其中somenumber
是站点地图后面的数字。
RewriteCond %{QUERY_STRING} !^(.*&|)id=
RewriteCond %{QUERY_STRING} ^(.*&|)sitemap=([0-9]+)(&.*|)$
RewriteRule ^ %{REQUEST_URI}?id=%2 [QSA,R,L]
快速了解我在这里使用的内容。 %{QUERY_STRING}
是一个变量,就像%{REQUEST_URI}
一样。正则表达式之前的!
将否定该正则表达式(ala'不包含')。 %2
替换为最后一个RewriteCond
的第二个捕获组。在这种情况下,它将被([0-9]+)
捕获的任何内容替换。标志为QSA
(查询字符串追加),R
(重定向,默认为临时重定向)和L
(如果此规则匹配,则停止重写;这不会影响新请求那是)。可以找到文档here。