来自 电脑知识 2019-11-08 01:16 的文章
当前位置: 威尼斯国际官方网站 > 电脑知识 > 正文

Apache由http自动跳转到https的多种方法,apache如何

正文主要和名门分享Apache http自动跳转到https的两种办法,当您的站点使用了HTTPS之后,你可能会想把具备的HTTP乞请(即端口80的央求卡塔尔,全部都重定向至HTTPS。那个时候你能够用以下的方法来产生:

原稿网站:http://www.cnblogs.com/niejunlei/p/5279677.html

在启用了 https 之后,还要确认保障从前的 http 端口能够展开,http 的 80 端口是有四个网站的,所以那就招致急需把原先的带 wwww 和不带 www 的域名同期钦赐三个 https 网址上边,须求做七个 Apache 的301重定向,那几个实乃很简单的,朱律博客的做法是直接在 .htaccess 文件中加多三个 301 就可以,如下所示:

何以设置http自动跳转到https?apache境遇下,配置好https后,需求安装url重定向法则,使网址页面包车型大巴http访谈都活动转到https访谈。
  • 先开垦url重定向辅助
  • 开Apache/conf/httpd.conf,找到 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#号。
  • 找到你网站目录的<Directory>段,举个例子本身的网站目录是/var/html/www,找到
<Directory “/var/html/www”>
…
</Directory>

改革在那之中的 AllowOverride NoneAllowOverride All

  • 重启apache服务
  • 设置重定向法则

在您网站目录下放叁个.htaccess文件。windows情状下,不可能把文件直接改名叫.htaccess,会提醒您一定要输入文件名。所以大家先新建三个“新建文本文档.txt”文书档案,记事本张开,选取另存为,保存类型选拔“全体文件(.)”,文件名输入“.htaccess”,保存。那样便生成了贰个.htaccess文书。

编辑器打开.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 四个地点都能够访问。

rewritecond %{http_host} ^www.php.cn [nc] 
RewriteRule ^(.*)?$ <a href="https://www.php.cn/" target="_blank">https://www.php.cn/</a>$1 [R=301,L] 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)?$ <a href="https://www.php.cn/" target="_blank">https://www.php.cn/</a>$1 [R=301,L

率先个 301 很自然正是带 www 的跳转到新的 https 上边了,而下边包车型大巴301重定向则是判定纵然端口不是80的话,则进行重定向,那样的话,带www和不带www的域名就合作跳转到 https 叁个网址上边了,当然这种全站做301的方法是相比暴力的,经常状态下我们只要把主域名做个301就能够了,作者这里是因为启用了原来的多个域名。

PHP普通话网还手提式有线电话机了部分别样的 Apache http 跳转到 https 的不二诀窍,仅供参谋:

方法1

RewriteEngine On 
RewriteBase / 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ <a href="https://www.php.cn/" target="_blank">https://www.php.cn/</a>$1 [R=301,L]

方法二

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就是目录名

方法4

redirect 301 /你的网页 https://你的主机+网页
#至针对某个网页跳转

本文由威尼斯国际官方网站发布于电脑知识,转载请注明出处:Apache由http自动跳转到https的多种方法,apache如何

关键词: