在<virtualhost>标记</virtualhost>中重定向域

时间:2014-07-07 21:03:02

标签: regex apache2 httpd.conf

我的apache2.conf文件中有以下django项目:

#ServerRoot "/etc/apache2"
<VirtualHost *:80>
    Alias /static /home/ubuntu/Avails/static
    # virtual host configuration
    WSGIScriptAlias / home/ubuntu/Avails/wsgi.py
</VirtualHost>

类似于我之前提出的问题(How to redirect one domain to another)。

我有两个域名:

www.new.example1.com/ --> IP=1.2.3.4
www.new.example2.com/ --> IP=1.2.3.4 (same IP for both domains)

我希望所有访问www.example2.com/*的请求都能访问所请求的页面。我希望所有访问www.example1.com/*的请求重定向到www.example2.com/*。如何重定向VirtualHost块中的域 ,而不是使用.htaccess文件?

1 个答案:

答案 0 :(得分:0)

这是有效的。特别感谢anubhava的帮助:

1)启用模块重写:

$ sudo a2enmod rewrite

2)编辑apache2.conf文件:

<VirtualHost *:80>
    Alias /static /home/ubuntu/Avails/static
    # virtual host configuration
    WSGIScriptAlias / home/ubuntu/Avails/wsgi.py
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^new\.example1\.net [NC]
    RewriteRule ^ http://new.example2.net%{REQUEST_URI} [NE,R=301,L]
</VirtualHost>

3)重启apache:

$ sudo service apache2 restart