【问题标题】:mod_rewrite, multiple domain, virtualhostmod_rewrite,多域,虚拟主机
【发布时间】:2015-11-29 16:55:12
【问题描述】:

这是我想要达到的目标:

  1. 重定向到为 2 个不同域托管的 2 个不同应用程序
  2. 重定向到 https://
  3. 不是 www 域
  4. 确保附加斜杠以防用户遗漏。

请注意: 这是一个共享实例 - 所以已经配置了另一个应用程序。

我当前的解决方案配置:

# VirtualHost Listening on Port 80
123.123.1.1:80

# Original Configuration for Existing Application
<VirtualHost *>
ServerName 123.123.1.1:80
# Additional cluster configuration using Proxy ( mod_proxy ) & LoadBalancer
</VirtualHost>

<VirtualHost *>
ServerName domain1.com

Redirect / https://domain1.com/app1/$1
</VirtualHost>

<VirtualHost *>
ServerName domain2.com

Redirect / https://domain2.com/app2/$1
</VirtualHost>

我尝试过的替代方案是:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain1.com/app1/$1


RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://domain2.com/app2/$1

有人可以指出我应该做什么额外的配置吗? 我的错误是什么?

【问题讨论】:

    标签: apache mod-rewrite dns virtualhost mod-proxy


    【解决方案1】:

    尝试使用条件查找域,然后根据请求的传入域进行重定向。

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com [NC]
    RewriteRule (.*)$ https://domain1.com/app1/$1/ [R=301,L]
    
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com [NC]
    RewriteRule (.*)$ https://domain2.com/app2/$1/ [R=301,L]
    

    【讨论】:

    猜你喜欢
    • 2021-01-15
    • 2017-01-02
    • 2010-09-05
    • 2011-02-22
    • 1970-01-01
    • 2011-03-23
    • 2010-10-22
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多