我有这种格式的网址
www.example.com/?city_name="New-York"
我想知道是否有办法自动将此网址重写为
www.example.com/cities/new-york
使用重写规则。
我有这种格式的网址
www.example.com/?city_name="New-York"
我想知道是否有办法自动将此网址重写为
www.example.com/cities/new-york
使用重写规则。
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 以从请求中擦除查询字符串,然后传递L
andR
标志以发出完整的 302 重定向。