Apache配置http跳转https教程

用我的步骤前,请一定要保证自己的网站能够用https正常打开;方法也是非常的简单,具体步骤如下:

 

一、登陆服务器

不管你的服务器是linux还是windos,原理都是一样的,我拿windos服务器来举例吧!

登陆windos服器方法很简单,需要“远程桌面连接”。

我们直接点击左下角“开始” =》 “运行”,(或使用“WIN+R”快捷键),再输入"mstsc"即可打开远程桌面连接,输入你的IP+用户名+密码即可远程连接成功;

 winscp显示隐藏文件快捷键Ctrl+Alt+H

二、打开url重定向伪静态规则支持

1、打开Apache/conf/httpd.conf;

2、找到 #LoadModule rewrite_module modules/mod_rewrite.so;

3、去掉前面的#号;#LoadModule rewrite_module modules/mod_rewrite.so

 

三、修改网站目录的段:Directory

1、打开Apache/conf/httpd.conf;

2、找到你网站目录的段,例如我的是:“C:\phpStudy\PHPTutorial\WWW”

3、修改其中的 AllowOverride None 为 AllowOverride All;<Directory>

 

四、保存并重启apache服务

 

五、设置重定向伪静态规则

1、在你网站目录下放一个.htaccess文件。注意:windows环境下,不能把文件直接改名为.htaccess,会提示你必须输入文件名。所以我们先新建一个“新建文本文档.txt”文档,再用记事本打开,选择另存为,保存类型选择“所有文件(*.*)”,文件名输入“.htaccess”,保存。这样便生成了一个.htaccess文件。

 

2、打开并编辑.htaccess文件,写入如下规则:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} !^/index.html
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R]

 

解释:

%{SERVER_PORT} —— 访问端口

%{REQUEST_URI} —— 比如如果url是 https://www.***.com/index.html,则是指 /index.html

%{SERVER_NAME} —— 比如如果url是 https://www.***.com/index.html,则是指 www.***.com

 

以上规则的意思是:

如果访问的url的端口不是443,且访问页面不是/index.html,则应用RewriteRule这条规则。

这样便实现了:访问了 https://www.***.com/index.php 或者 https://www.***.com/admin/index.php 等页面的时候会自动跳转到 https://www.***.com/index.php 或者 https://www.***.com/admin/index.php,

但是访问 https://www.***.com//index.html 的时候就不会做任何跳转,也就是说 https://www.***.com//index.html 和 https://www.***.com//index.html 两个地址都可以访问。

posted @ 2020-06-10 14:47  A毛毛  阅读(1744)  评论(0编辑  收藏  举报