Apache2 - 将子域重定向到另一个URL


15

我有两个子域名a.website.com和b.website.com,指向相同的IP地址。我想将b.website.com重定向到a.website.com:8080。我在.htaccess文件中有这个...

RewriteEngine on
RewriteCond {HTTP_HOST} b\.website\.com
RewriteRule ^(.*)$ http://b.website.com:8080$1 [L]

......但它不起作用。

有没有办法让它发挥作用?


尝试.htaccess在感兴趣的目录上方的父目录中添加以下内容:RedirectMatch ^/foo/$ /foo/bar/RedirectMatch ^/foo/$ /bar/baz/。另请参阅如何将apache2重定向到子目录
jww 2016年

Answers:


20

您总是可以使用简单的VirtualHost:

<VirtualHost *:80>
  ServerName b.website.com
  RedirectPermanent / http://a.website.com:8080/
</VirtualHost>

如果您更喜欢使用.htaccess文件,那么您只需在重写条件中错过%符号:

RewriteEngine on
RewriteCond %{HTTP_HOST} b.website.com
RewriteRule ^(.*)$ http://a.website.com:8080$1 [L]

我试过了两个,他们没有工作。我启用了mod_rewrite,我将VirtualHost放在一个单独的站点文件中。有什么我想念的吗?
Technius 2013年

3
这很好用。我有一个循环重定向问题,因为我将子域指向子文件夹,并且该子文件夹正在重定向。现在,我将子域重定向到与该文件夹对应的URL,第二次重定向就好了!
Paschalis 2014年

如何保存http://或者首先访问的https://方式b.website.com是什么?
Golar Ramblar
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.