HTTP ( 超文本传输协议 )是万维网 ( WWW )上数据通信的基本协议; 通常在Web浏览器和存储Web文件的服务器之间。 而HTTPS是HTTP的安全版本,其中“ S ”端代表“ Secure ”。
使用HTTPS ,您的浏览器和Web服务器之间的所有数据都是加密的,因此是安全的。 本教程将向您展示如何在Linux中将HTTP重定向到Apache HTTP服务器上的HTTPS 。
在为您的域设置Apache HTTP到HTTPS重定向之前,请确保已安装SSL证书,并在Apache中启用mod_rewrite 。 有关如何在Apache上设置SSL的更多信息,请参阅以下指南。
如何为Apache创建自签名的SSL证书和密钥
如何安装我们在CentOS / RHEL上加密SSL证书7
如何安装我们在Debian / Ubuntu上加密SSL证书
使用.htaccess文件将HTTP重定向到Apache上的HTTPS
对于这种方法,确保启用了mod_rewrite ,否则在Ubuntu / Debian系统上启用它。
$ sudo a2enmod rewrite [Ubuntu/Debian]
对于CentOS / RHEL用户,请确保您在httpd.conf ( mod_rewrite支持 - 默认情况下启用)中具有以下一行。
LoadModule rewrite_module modules/mod_rewrite.so
现在您只需要在您的域根目录中编辑或创建.htaccess文件,并添加这些行将http重定向到https。
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
现在,当访问者输入http://www.yourdomain.com
,服务器将自动将HTTP重定向到HTTPS https://www.yourdomain.com
。
将HTTP重定向到Apache虚拟主机上的HTTPS
另外,要强制所有Web流量使用HTTPS ,您还可以配置虚拟主机文件。 通常,启用SSL证书时,虚拟主机配置有两个重要部分; 第一个包含非安全端口80的配置 。
第二个是安全端口443 。 要将HTTP重定向到您网站所有页面的HTTPS,首先打开相应的虚拟主机文件。 然后通过添加以下配置进行修改。
NameVirtualHost *:80<VirtualHost *:80>ServerName www.yourdomain.com Redirect / https://www.yourdomain.com</VirtualHost><VirtualHost _default_:443>ServerName www.yourdomain.com DocumentRoot /usr/local/apache2/htdocs SSLEngine On # etc...</VirtualHost>
保存并关闭文件,然后重新启动HTTP服务器。
$ sudo systemctl restart apache2 [Ubuntu/Debian]$ sudo systemctl restart httpd [RHEL/CentOS]
虽然<VirtualHost>
是最推荐的解决方案,因为它更简单和安全。
网站进行301重定向对广大站长来说并不陌生,处于SEO、PR值传递等都会对网站设置301跳转,通常我们做301重定向都是修改网站根目录下.htaccess文件,下面就修改.htaccess文件实现301重定向方法为大家进行介绍。
修改.htaccess文件实现301重定向方法有以下几点:
1、重定向idcspy.com到www.idcspy.com
这是最常见的重定向方法,其目的是为了实现域名的唯一性,这是网站优化必须做的。其操作方法是在.htaccess文件中加入以下规则;
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.idcspy.com$ [NC] RewriteRule ^(.*)$ https://www.idcspy.com/$1 [L,R=301]
2、重定向www.idcspy.com到idcspy.com
该重定向刚好与上面的相反,在.htaccess文件中加入规则如下;
RewriteEngine On RewriteCond %{HTTP_HOST} !^idcspy.com$ [NC] RewriteRule ^(.*)$ http://idcspy.com/$1 [L,R=301]
3、重定向olddomain.com 到 newdomain.com
由于公司的发展可能需要对网站的域名进行更换,此时就需要将老的域名重定向到新的域名中去,在.htaccess文件操作如下;
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
4、重定向olddomain.com 到 www.newdomain.com
这个只需要在第三种重定向中进行相应的改良就可以
RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
5、重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
这种是对在更改网站域名的同时,网站目录路径也发生变化的情况下使用,在.htaccess文件中操作如下;
RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]
6、在Apache服务器实现301重定向
在Apache服务器实现301重定向只需要在.htaccess文件中加入以下规则就可以了,格式是旧目录/旧文档名 新文档的地址;
Redirect /olddirectory https://www.idcspy.com/newdirectory
修改.htaccess文件实现301重定向方法基本上就是这些,用户可以更具自己的需求选择合适的方法进行修改。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/8064.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~