【问题标题】:htaccess https for several subdomainshtaccess https 用于多个子域
【发布时间】:2012-06-05 18:18:12
【问题描述】:

我有虚拟主机

<VirtualHost 10.10.10.10:80>
     ServerAdmin webmaster@server.com
     ServerName server.com
     ServerAlias subdomain-a.server.com subdomain-b.server.com subdomain-c.server.com subdomain-d.server.com
     DocumentRoot /srv/www/server.com/public_html/
</VirtualHost>

<VirtualHost 10.10.10.10:443>
     ServerAdmin webmaster@server.com
     ServerName server.com
     ServerAlias subdomain-a.server.com subdomain-b.server.com subdomain-c.server.com subdomain-d.server.com
     DocumentRoot /srv/www/server.com/public_html/
</VirtualHost>

我想强制访问者对子域-a 和子域-c 使用 https。 subdomain-b 和 subdomain-d 的访问者可以使用 http 和 https。如何配置.htaccess?

【问题讨论】:

  • 这里有很多关于 SO 的例子。尝试寻找与%{HTTP_HOST} 匹配的指定主机。

标签: apache .htaccess web virtualhost virtual-hosts


【解决方案1】:

通过httpd.conf启用mod_rewrite和.htaccess,然后把这段代码放到你.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(subdomain-a|subdomain-c)\.server\.com$ [NC]
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

【讨论】:

    猜你喜欢
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    相关资源
    最近更新 更多