2016-12-14 74 views
0

我们的老网站有一个搜索URL结构是这样的:重写规则 - 改多变量URL到多变量URL

  • example.com/Country/United国家/地区/加利福尼亚州/地区/南加州/市/圣地亚哥/郊区/南园/类型/楼/房间/ 4 /浴室/ 3/

这是目前改写为指向物理页:

  • /search/index.aspx

URL中的参数可以按不同的顺序混合,并且URL可以包含一个或多个参数。

我们要301重定向这些旧网址即以逻辑方式排列,更简洁的新结构:

  • example.com/united-states/california/southern-california/san-diego /南公园/?类型=房子&卧室= 4个&浴室= 3个
  • example.com/united-states/california/?type=house &卧室= 4个&浴室= 3

是疗法通过URL重写来询问旧URL,找出存在的参数,然后写出新的URL结构?

即使我们可以将其限制在国家,地区,地区,城市和郊区,这可能足以至少返回一些结果,即使它不完美。

此外,空格应该变成连字符,所有文本都是小写字母。

我已经有了RewriteRule来将新的URL结构变成一个URL来指向一个物理页面。它只是将旧网址转换为我需要帮助的新网址。我已经无休止地Google搜索了,它超出了我的想象!

任何人都可以帮忙吗?谢谢。

回答

0

由于您已经拥有旧的搜索页面,并且已为其设置了重写规则,并且能够解析所需的所有参数,所以我在此处看到的最简单且最合适的解决方案是发出您从旧搜索中需要的重定向页面的代码。只需将构成新URL的代码与所需的所有参数相结合,并从该页面重定向 - 这应该比试图在.htaccess中解析所有这些参数并将它们组合成新格式要容易得多。