htaccess变量301从URL重定向(但具有奇数结构)

时间:2018-01-08 23:48:52

标签: .htaccess redirect http-status-code-301

所以我正在进行网站设计,而且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

此外,它没有传递变量,所以我显然也有问题。

非常感谢任何帮助!谢谢!

1 个答案:

答案 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]