IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    apache不能重定向,不能强制跳转https,-htaccess失效解决办法

    陈华发表于 2021-11-06 09:14:19
    love 0

    apache不能重定向,.htaccess被关闭

    在centos系统下一键安装apache服务后,在网站根目录下建立.htaccess文件,想通过.htaccess文件实现apache的重定向。但是发现无论怎么更换.htaccess的代码,都不能重定向。这时候就需要检查.htaccess是否被关闭。

    打开apache的配置文件

    vim /etc/httpd/conf/httpd.conf

    检查配置文件

    AllowOverride Node #338行附近
    #修改为
    AllowOverrlid All #打开.htaccess

    .htaccess打开后,还是不能访问可以检查文件名称是否正确。

    AccessFileName .htaccess #409行附近,检查AccessFileName后面的文件名是否正确,可自定义

    修改完成后,需要重启服务器

    service https restart #重启服务器

    实现强制跳转https

    要想实现强制跳转https,一般是通过301重定向实现的。针对服务器管理员和网站管理员有以下不同的方法。

    在配置文件中增加跳转代码

    #在apache配置文件中增加下面代码
    <VirtualHost *:80>
    ServerAdmin ASorb
    DocumentRoot /var/www/html/wordpress #网站目录
    ServerName www.chhua.com  #修改为自己的域名

    RewriteEngine on
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
    </VirtualHost>
    #添加后需要重启服务器
    service httpd restart

    .htaccess文件实现(使用前请按照上述方法确定.htsccess是否处于打开状态)
    在网站根目录下建立.htaccess文件,将下面代码写入.htsccess文件中。( 重要提示:必须将代码放到.htaccess文件内容的最前面,以保证重定向优先权。)

    #代码如下:
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.chhua.com/$1 [R,L]
    #或者
    RewriteEngine On
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.chhua.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://www.chhua.com/subfolder [R,L]

    效验是否成功跳转

    检验是否能够重定向最简单的方法就是通过浏览器的访问,首先在浏览器中访问http://你的网址/,等待响应后,看网址是否变成https://你的网址/,如果发生改变就说明跳转成功,否则失败。有时候不能跳转可能不是服务器的配置问题,有可能是本地浏览器的缓存问题。例如谷歌浏览器就有缓存机制,所以在验证的时候可以先清除缓存在进行效验

    自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

    本文链接地址: apache不能重定向,不能强制跳转https,-htaccess失效解决办法 http://www.chhua.com/web-note5618

    随机笔记

    • 如何才能让浏览器检测到网站有RSS功能
    • 美国虚拟主机到底好不好——打破美国虚拟主机神话
    • 提高效率的十款PHP编码工具
    • PHP面向对象编程——单一职责原则(SRP)
    • 看了他,扫除了我一切的抱怨!


沪ICP备19023445号-2号
友情链接