RewriteRule - 将多变量URL重定向到多变量URL

时间:2016-12-14 10:48:34

标签: .htaccess mod-rewrite url-rewriting isapi-rewrite

我们旧网站的搜索网址结构如下:

  • example.com/Country/United States / Region / California / Area / Southern California / City / San Diego / Suburb / South Park / Type / House / Bedrooms / 4 / Bathrooms / 3 /

目前这是重写的,指向物理页面:

  • /search/index.aspx

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

我们希望301将这些旧URL重定向到以逻辑方式排序且更简洁的新结构:

  • example.com/united-states/california/southern-california/san-diego/south-park/?type=house&bedrooms=4&bathrooms=3
  • example.com/united-states/california/?type=house&bedrooms=4&bathrooms=3

有没有办法使用URL重写来查询旧URL,找出存在的参数然后写出新的URL结构?

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

此外,空格应变为连字符,所有文字均为小写。

我已经有了RewriteRule来将新的URL结构转换为指向物理页面的URL。它只是将旧URL转换为我需要帮助的新URL。我已经无休止地搜索了,它就在我身边!

有人可以帮忙吗?感谢。

1 个答案:

答案 0 :(得分:0)

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