当有人进入http://
(非安全)时,有两种可能的情况。我想编写.htaccess文件,以便通过以下方式解决这两个问题:
1)他们不使用子域名。
解决方案:重定向到https://www.
+剩余网址。
2)他们使用http://www.
或http://subdomain.
解决方案:重定向到https://subdomain
或https://www.
(无论使用哪个)+剩余的网址。
如何在我的.htaccess文件中解决这个问题?
这是我当前的文件:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|font|uploads|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
答案 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]