重定向到https:// www。什么时候没有子域名,只有https:当有

时间:2013-03-22 19:21:46

标签: apache .htaccess redirect

当有人进入http://(非安全)时,有两种可能的情况。我想编写.htaccess文件,以便通过以下方式解决这两个问题:

1)他们不使用子域名。

解决方案:重定向到https://www. +剩余网址。

2)他们使用http://www.http://subdomain.

解决方案:重定向到https://subdomainhttps://www.(无论使用哪个)+剩余的网址。

如何在我的.htaccess文件中解决这个问题?

这是我当前的文件:

 RewriteEngine on
 RewriteCond $1 !^(index\.php|images|css|js|font|uploads|robots\.txt)
 RewriteRule ^(.*)$ /index.php/$1 [L]

1 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

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

# redirect to https://www. + remaining URL.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# They use either http://www. or http://subdomain.
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]