1

我有这种格式的网址

www.example.com/?city_name="New-York"

我想知道是否有办法自动将此网址重写为

www.example.com/cities/new-york

使用重写规则。

4

1 回答 1

1

RewriteCond在查询字符串上使用 a ,然后RewriteRule使用结果。

RewriteCond %{QUERY_STRING} ^city_name="([\w]+)" [NC]
RewriteRule (.*) /cities/%1? [L,R]

RewriteCond查询字符串上运行正则表达式,查找您的city_name参数。NC是无大小写标志,使正则表达式不区分大小写。在实际RewriteRule指令中,我们完全重写了 的路径/cities/%1,其中%1是最后一个成功RewriteCond指令的第一个匹配组,在这种情况下,是请求的城市的 slug。我们?在末尾添加 a 以从请求中擦除查询字符串,然后传递LandR标志以发出完整的 302 重定向。

于 2012-05-04T20:30:21.900 回答