【发布时间】:2014-01-30 03:05:40
【问题描述】:
我有一个具有旧 url 结构的旧域,并希望将其重定向 (301) 到具有新 url 结构的另一个域。我有必须单独转换的网址:
http://domainA.com/ => http://ru.domainB.com/ http://domainA.com/?fieldA=abc => http://ru.domainB.com/xxx/zzz http://domainA.com/?fieldA=www&fieldB=aaa => http://ru.domainB.com/uuu/ooo/ppp另一个网址具有相同的值:
http://domainA.com/?fieldC=abc&fieldD=4 => http://ru.domainB.com/abc/xxx/4 http://domainA.com/?fieldC=abc&fieldD=5 => http://ru.domainB.com/abc/xxx/5 http://domainA.com/?fieldC=abc&fieldD=6 => http://ru.domainB.com/abc/xxx/6 http://domainA.com/?fieldC=def&fieldD=4 => http://ru.domainB.com/def/xxx/4 http://domainA.com/?fieldC=def&fieldD=5 => http://ru.domainB.com/def/xxx/5 http://domainA.com/?fieldC=def&fieldD=6 => http://ru.domainB.com/def/xxx/6左侧网址可以在“?”之前有可选的“index.php”或“万维网”。在域名之前。有人可以在这里帮我翻译这 4 个链接吗?请用 mod_rewrite(apache)?
我的帐户有多个域名用于一个网站空间(通配符子域)。 apache conf中的伪设置:
服务器别名 *.domainA.com 服务器别名 *.domainB.com 服务器别名 *.domainC.com 服务器别名 *.domainD.com编辑:这对我有帮助。
RewriteCond %{HTTP_HOST} ^(www\.|)domainA\.com RewriteCond %{QUERY_STRING} 字段A=xxx) RewriteRule ^(.*)$ http://ru.domainB.com/? [R=301,L] RewriteCond %{HTTP_HOST} ^(www\.|)domainA\.com RewriteCond %{QUERY_STRING} 字段A=abc RewriteRule ^(.*)$ http://ru.domainB.com/abc/bbb/? [R=301,L] RewriteCond %{HTTP_HOST} ^(www\.|)domainA\.com RewriteCond %{QUERY_STRING} fieldA=abc&fieldB=(\d+) RewriteRule ^(.*)$ http://ru.domainB.com/abc/%1? [R=301,L]【问题讨论】:
标签: mod-rewrite