当前位置:web 服务器 > Apache >>

Apache通过设置.htaccess文件强制全站HTTP跳转至HTTPS访问

Apache通过设置.htaccess文件强制全站HTTP跳转至HTTPS访问
 
启用apache服务器模块“mod_rewrite.so” (一般是修改/etc/apache2/httpd.conf)
寻找/etc/apache2/httpd.conf里面涉及到项目目录、以及往上的目录的设置,修改其AllowOverride None为AllowOverride all,假设你的项目目录为/var/www/project, 那么请修改以下虚拟目录的设置包括:<Directory /> 和 <Directory /var> 和 <Directory /var/www>
重启apache:    sudo apachectl restart
在项目根目录下添加文件“.htaccess”(只有点号+后缀),写入以下内容即可:
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

 

我们可以用Apache的.htaccess的重定向规则来实现http强制跳转到https访问网站。( 重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权。)

代码如下:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yizuotu.net/$1 [R,L]

或者

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://yizuotu.com/$1 [R=301,L]

又或者

RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

注意:如果是在子目录,可以用

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} subfolder
RewriteRule ^(.*)$ https://zzzyk.com/subfolder [R,L]

将以上代码复制到.htaccess中即可 Apache使用 .htaccess 来实现强制https访问的方法

Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
访问www.zzzyk.com 试试
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,