使用相对URL时,Apache 301重定向添加端口

时间:2018-03-20 23:44:22

标签: apache mod-rewrite

使用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网站。

1 个答案:

答案 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。

相关问题