【发布时间】:2017-07-01 01:47:12
【问题描述】:
我正在尝试编辑我的 .htaccess 文件以使其具有以下规则:
如果 URL 包含 src=website.com 并且具有参数 city=someCityHere 和 state=StateHere,则转到此 URL 并传递提供的城市和州
或
如果 URL 包含 src=website.com 并且有 zip=zipCodeHere 转到此 URL 并传递提供的邮政编码
或者如果 url 不包含 src=website.com 重定向到 thisWebsite.com
例如,网址将如下所示: www.mywebsite.com/?src=website.com&city=[city]&state=[state]
或 www.mywebsite.com/?src=website.com&zip=[zip]
编辑
这是我的逻辑,但它现在给出了 500 错误。注意城市和州的值需要在重定向 url 中用下划线分隔
RewriteCond %{THE_REQUEST} /\?src=website\.com&city=([^&]+)&state=([^&\s]+) [NC]
RewriteRule ^ www.anotherwebsite.com/$1_$2? [L,R=301]
RewriteCond %{THE_REQUEST} /\?src=website\.com&zip=([^&]+) [NC]
RewriteRule ^ www.anotherwebsite.com/$1? [L,R=301]
RewriteCond %{THE_REQUEST} !/\?src=website\.com [NC]
RewriteRule ^ http://www.anotherwebsite.com [L, R=301]
【问题讨论】:
-
%{QUERY_STRING}不包含问号。几年前我回答了一个类似的问题,见stackoverflow.com/q/14307333/1741542