我搜索了一个解决方案,将包含子域和变量的网址重定向到新域上的特定网页。
这是我要重定向的网址: http://en.domain.com/?page=ceramic-vase
这是我要重定向到的网址: http://www.newdomain.com/en/ceramic-vase.php
我试过基本的,只是重定向整个子域,这很好用:
RewriteCond %{HTTP_HOST} ^en.domain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/en/ [R=301,L]
我已经看到在htaccess和mod_rewrite中使用了状态[OR] - 所以我认为[AND]可能也有用,但不幸的是没有:
RewriteCond %{HTTP_HOST} ^en.domain.com [AND]
RewriteCond %{QUERY_STRING} ^page=ceramic-vase$
RewriteRule ^(.*)$ http://www.newdomain.com/en/ceramic-vase/ [R=301,L]
我希望有人可以提供帮助吗?
答案 0 :(得分:1)
您可以使用此规则:
RewriteCond %{HTTP_HOST} =en.domain.com
RewriteCond %{QUERY_STRING} ^page=([^&]+)
RewriteRule ^/?$ http://www.newdomain.com/en/%1/? [R=301,L]
%1
是查询参数page
?
会剥离以前的查询字符串。答案 1 :(得分:0)
默认为AND,因此删除[AND]就足够了:
RewriteCond %{HTTP_HOST} ^en.domain.com
RewriteCond %{QUERY_STRING} ^page=ceramic-vase$
RewriteRule ^(.*)$ http://www.newdomain.com/en/ceramic-vase/ [R=301,L]