记录apache环境下 .htaccess 配置文件,站点HTTP和HTTPS(SSL)两种协议,以及WWW和非WWW之间的各种重定向自动跳转规则。
如需参考,请将规则中的www.wo.ci或wo.ci替换为所需配置域名,为保证规则优先权,请将规则放置到apache的conf配置文件对应位置,或指定站点目录 .htaccess 文件内容的头部
一、跳转访问协议至SSL (HTTPS 443)
1.总是以HTTPS方式访问站点,但对WWW或顶级域名 不做跳转。
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.wo.ci/$1 [L,R=301]
2.总是以HTTPS方式访问站点,并自动将顶级域名 跳转到WWW。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.wo.ci$ [NC]
RewriteRule ^(.*)$ https://www.wo.ci/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.wo.ci/$1 [L,R=301]
3.总是以HTTPS方式访问站点,并自动将WWW 跳转到顶级域名。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^wo.ci$ [NC]
RewriteRule ^(.*)$ https://wo.ci/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://wo.ci/$1 [L,R=301]
二、不做访问协议跳转 (HTTP 80端口)
1.总是以HTTP方式访问站点,并自动将顶级域名 跳转到WWW。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.wo.ci$ [NC]
RewriteRule ^(.*)$ http://www.wo.ci/$1 [L,R=301]
3.总是以HTTP方式访问站点,并自动将WWW 跳转到顶级域名。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^wo.ci$ [NC]
RewriteRule ^(.*)$ http://wo.ci/$1 [L,R=301]