所以我正在进行网站设计,而且URL正在发生变化。但是,旧网站的网址结构非常奇怪,我发现很难重定向。
基本上,只需要从URL中获取变量,然后将其传递给另一个页面然后执行重定向。但是,这是我的问题。旧网址实际上不是查询字符串。
/rental/house.html&ID=405313
请注意它是如何缺少普通?
而不是&
的?奇怪,对吧?
目前,我有
RewriteCond %{QUERY_STRING} (^|&)ID=([^&]+)($|&)
RewriteRule ^rental/house\.html$ /newredirect.cfm?id=%1 [L,R=301]
但是,这只适用于我有?在网址中,例如....
/rental/house.html?ID=405313
此外,它没有传递变量,所以我显然也有问题。
非常感谢任何帮助!谢谢!
答案 0 :(得分:2)
?
后面的字符串是查询字符串。在这种情况下,您的请求URI为/rental/house.html&ID=405313
,您可以检查请求URI。 %1
是([0-9]+)
的反向引用。
RewriteCond %{REQUEST_URI} &ID=([0-9]+)
RewriteRule ^/?rental/house.html /newredirect.cfm?id=%1 [L,R=301]