我有这种格式的网址
www.example.com/?city_name="New-York"
我想知道是否有办法自动将此网址重写为
www.example.com/cities/new-york
使用重写规则。
答案 0 :(得分:1)
在查询字符串上使用RewriteCond
,然后使用结果RewriteRule
。
RewriteCond %{QUERY_STRING} ^city_name="([\w]+)" [NC]
RewriteRule (.*) /cities/%1? [L,R]
RewriteCond
在查询字符串上运行正则表达式,查找您的city_name
参数。 NC
是无案例标志,以使正则表达式不区分大小写。在实际的RewriteRule
指令中,我们完全重写了/cities/%1
的路径,其中%1
是上一个成功的RewriteCond
指令中的第一个匹配组,在这种情况下,slugg为要求的城市。我们在末尾添加?
来擦除请求中的查询字符串,然后传递L
和R
标记以发出完整的302重定向。