最好用一个例子来解释:
- If I enter either URLs in my brower
- www.myhost.com/my-page.html?year=
- www.myhost.com/my-page.html
- I then want to get redirected to www.my-2nd-host.com/current-year/my-page.html
你知道怎么做吗?谢谢。
答案1
你可以使用 mod_rewrite 这样做:
RewriteEngine On
RewriteCond %{QUERY_STRING) !(^|&)year=[^&]+
RewriteRule ^/?my-page\.html$ https://www.my-2nd-host.com/current-year/my-page.html [R=302,L]
正则表达式(^|&)year=[^&]+
检查year
URL 参数是否存在非空值。!
然后前缀否定表达式,因此当 URL 参数为空或根本不存在时,它会成功。