Typecho 在虚拟主机中如何强制使用HTTPS

问题

按照搜索到的教程,已经启用了HTPPS并且成功显示了小绿锁.
但是虚拟主机中无法设置Nginx80强制跳转443

目前做了如下两步

  • 在后台 >> 系统设置 >> 站点地址 ,连接加上HTTPS://

  • 编辑Typecho站点根目录下的文件config.inc.php 加入了

     /** 开启HTTPS */
    define('__TYPECHO_SECURE__',true);

环境

虚拟主机

站点

I/O - n7then

阅读 8.5k
2 个回答

使用.htaccess


在网站站目录下找到 .htaccess,如果没有就新建一个,添加如下代码

  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{http_host} ^www.liyuans.com$ [NC]
    RewriteRule ^(.*)$ https://liyuans.com/$1 [R=301,L]

    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]


    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /index.php/$1 [L]
    </IfModule>

作用
第一块:将所有连接全部跳转到 https 开头的、不带 www 的网址上
第二块:伪静态,解决 typecho 烦人的会自带index.php在网址上的问题

参考来源:https://liyuans.com/archives/...

是否支持自定义rewrite?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题