18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 建站知识 > Ubuntu及Apache2下如何301重定向https?

Ubuntu及Apache2下如何301重定向https?

时间:2023-02-09 03:54:02 | 来源:建站知识

时间:2023-02-09 03:54:02 来源:建站知识

什么是301重定向?

页面永久性移走(301重定向)是一种非常重要的“自动转向”技术。网址重定向最为可行的一种办法。当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。
在我们网站建设中,时常会遇到需要网页重定向的情况:像网站调整,改变了网站的目录结构,网页被移到一个新地址。或者网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这些情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到一个404页面错误信息,访问流量白白丧失。又比如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点。
当我们申请SSL证书构建https后,会出现http及https并存的情况,在Apache2虚拟目录配置文件中添加Redirect permanent并不能很好地解决全站http跳转https的问题。

这时,我们可以通过添加修改网站根目录下的.htaccess文件实现全站301重定向到https,而不止是主页。

开启Apache2重写模块rewrite:

###管理员身份运行sudo a2enmod rewrite###重启apache2服务service apache2 restart修改虚似目录配置文件,在<Directory /网站目录>与</Directory>之间添加AllowOverride All,如有AllowOverride None,改为AllowOverride All。然后执行service apache2 reload,重载一次配置。

<Directory /网站目录> Options FollowSymLinks MultiViews AllowOverride All Order allow,deny Allow from All Require all granted</Directory>添加或修改网站根目录下的.htaccess文件,插入修改如下代码:

<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteCond %{SERVER_PORT} !^443$RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]###…………</IfModule>至此,网站已可以实现全站http跳转https,包括内页。如直接访问http://www.himstudy.net/category/linux,可跳转到https://www.himstudy.net/category/linux

关键词:

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭