您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

强制使用 HTTPS 对 Typecho 目录无效

2025/4/2 11:24:34发布30次查看
我给我的个人站点加了 ssl 证书,而且设置了 http 全部跳转到 https,可为什么直接 http 访问 typecho 所在目录(/blog/)不会跳转?包括文章页、后台页面也是。
而且直接 http 访问博客首页,文章链接也是 http:// 而不是 https://,我在后台已经设置了站点地址是走 https 的。
另外,主机商说主机使用的不是 443 端口,只能用 rewritecond %{http:kerssl} !on 来判断是否走了 https,我的 .htaccess 文件如下:
rewritecond %{http:kerssl} !on [nc]rewriterule (.*) https://%{http_host}%{request_uri} [l,r=301]

直接用 http 访问其他目录是能够跳转到 https 的。
回复内容: 我给我的个人站点加了 ssl 证书,而且设置了 http 全部跳转到 https,可为什么直接 http 访问 typecho 所在目录(/blog/)不会跳转?包括文章页、后台页面也是。
而且直接 http 访问博客首页,文章链接也是 http:// 而不是 https://,我在后台已经设置了站点地址是走 https 的。
另外,主机商说主机使用的不是 443 端口,只能用 rewritecond %{http:kerssl} !on 来判断是否走了 https,我的 .htaccess 文件如下:
rewritecond %{http:kerssl} !on [nc]rewriterule (.*) https://%{http_host}%{request_uri} [l,r=301]

直接用 http 访问其他目录是能够跳转到 https 的。
在config.inc.php里增加
define('__typecho_secure__', true);
最后找出了原因,是因为 /blog/ 下还有一个 .htaccess,我一开始不知道这个文件,所以忘在这里加上跳转了,因此在访问/blog/的时候 apache 读取的是该目录下的 .htaccess(也就是不会从 http 跳转到 https 的那个)。
除此之外,@joyqi 回答的解决方案是用来让链接输出为https的
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product