使用Apache RewriteRule,我正在尝试执行以下操作:
RewriteRule ^/foo /somedirectory/foo [NC,L,R=301]
问题在于,当它重定向时,它将转到以下URL:
http://www.foo.com:81/somedirectory/foo
有没有办法防止写入端口。我使用相对URL主要是因为我们有两个站点(.com和.ca)位于同一台机器上。我通常会这样做:
RewriteRule ^/foo http://www.foo.com/somedirectory/foo [NC,L,R=301]
但如果我要转到http://www.foo.ca/foo
,那么它会重定向到.com网站。
答案 0 :(得分:0)
我明白了。只需要这样做:
RewriteCond "%{HTTP_HOST}" "\.ca"
RewriteRule ^/foo http://www.foo.ca/somedirectory/foo [NC,L,R=301]
RewriteRule ^/foo http://www.foo.com/somedirectory/foo [NC,L,R=301]
只需使用正确的正则表达式重写RewriteCond来检查.ca。