如何在apache环境里面网站修改 http跳转到https 元素模板为您解答
直接在 .htaccess 文件中添加
方法一
- RewriteEngine on
- RewriteCond %{SERVER_PORT} !^443$
- RewriteCond %{REQUEST_URI} !^/tz.php
- RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]
解释:
-
%{SERVER_PORT} —— 访问端口
-
%{REQUEST_URI} —— 比如如果url是 http://localhost/tz.php,则是指 /tz.php
-
%{SERVER_NAME} —— 比如如果url是 http://localhost/tz.php,则是指 localhost
以上规则的意思是,如果访问的url的端口不是443,且访问页面不是tz.php,则应用RewriteRule这条规则。
这样便实现了:访问了 http://localhost/index.php 或者 http://localhost/admin/index.php 等页面的时候会自动跳转到 https://localhost/index.php 或者 https://localhost/admin/index.php,但是访问 http://localhost/tz.php 的时候就不会做任何跳转,也就是说 http://localhost/tz.php 和 https://localhost/tz.php 两个地址都可以访问。
方法二
- RewriteEngine On
- RewriteBase /
- RewriteCond %{SERVER_PORT} 80
- RewriteRule ^(.*)$ https://www.firx.cn/$1 [R=301,L]
- #这样跳转的好处是独立IP主机也支持,访问ip能自动跳转到https
方法三
- RewriteEngine on
- RewriteCond %{SERVER_PORT} !^443$
- RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]
- #整站跳转
方法四
- RewriteEngine on
- RewriteBase /yourfolder
- RewriteCond %{SERVER_PORT} !^443$
- #RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [R=301,L]
- RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
- #以上至针对某个目录跳转, yourfolder就是目录名
方法五
- redirect 301 /你的网页 https://你的主机+网页
- #至针对某个网页跳转
方法六
- RewriteCond %{http_host} ^firx.cn [nc]
- RewriteRule ^(.*)?$ https://www.firx.cn/$1 [R=301,L]
- RewriteCond %{SERVER_PORT} !^443$
- RewriteRule ^(.*)?$ https://www.firx.cn/$1 [R=301,L]