使用RewriteCond重定向无法正常工作

时间:2016-04-20 07:50:20

标签: apache .htaccess redirect mod-rewrite

我犯了错误:

不起作用:

RewriteCond %{HTTP_HOST} ^domain1\.sk/en/(.*) [NC]
RewriteRule ^ http://domain2.com/en [R=301,L]

不适用于反斜杠:

RewriteCond %{HTTP_HOST} ^domain1\.sk\/en\/(.*) [NC]
RewriteRule ^ http://domain2.com/en [R=301,L]

不使用/ en /:

RewriteCond %{HTTP_HOST} ^domain1\.sk(.*) [NC]
RewriteRule ^ http://domain2.com/en [R=301,L]

另一个思考/变量$ 1也不起作用(没有回报):

RewriteCond %{HTTP_HOST} ^domain1\.sk(.*) [NC]
RewriteRule ^ http://domain2.com/$1 [R=301,L]

...或者确实以任何方式进行调试吗?

1 个答案:

答案 0 :(得分:0)

%{HTTP_HOST}仅匹配相关的域部分。要匹配URI的部分,您可以使用%{REQUEST_URI}变量,或者使用RewriteRule

RewriteCond %{HTTP_HOST} ^domain1\.sk [NC]
RewriteRule ^/?(en)(/.*)?$ http://domain2.com/$1$2 [R=301,L,NC]

$1, $2等来自RewriteRule