火车头发布模块获取不到栏目的解决方法

发布模块发布文章到网站时总是获取不到目录列表,原因是

软件版本太低 如7.6版本不支持ssl

无论是Apache或者Nginx下开启了强制https

就会导致无法获取到分类目录,下面是解决方法。

方法1:使用火车头采集器最新版本
方法2:修改宝塔站点上配置文件

这里以Nginx为例子

找到

if ($server_port !~ 443){
rewrite ^(/.)$ https://$host$1 permanent;
}
改成
set $flag 0;
if ($server_port !~ 443) {
set $flag “${flag}1”;
}
if ($request_uri !~ “Locoy.php”){
set $flag “${flag}2”;
}
if ($flag = “012”){
rewrite ^(.)$ https://$host$1 permanent;
}

这段代码是 Nginx 配置文件 中的一段规则,主要用于实现 HTTP 到 HTTPS 的重定向,同时排除某些特定条件。下面是对这段代码的详细解释:

代码功能
设置变量 $flag:

set $flag 0;:初始化变量 $flag,默认值为 0。

检查服务器端口:

if ($server_port !~ 443):如果请求的端口不是 443(即不是 HTTPS 请求),则将 $flag 的值追加 1。

例如,如果 $flag 初始为 0,经过这一步后变为 01。

检查请求路径:

if ($request_uri !~ “Locoy.php”):如果请求的 URI 不包含 Locoy.php,则将 $flag 的值追加 2。

例如,如果 $flag 是 01,经过这一步后变为 012。

判断并重定向:

if ($flag = “012”):如果 $flag 的值等于 012,则执行重定向。

rewrite ^(.)$ https://$host$1 permanent;:将当前请求重定向到 HTTPS 版本,并保留原始路径。permanent 表示永久重定向(HTTP 状态码 301)。

代码逻辑总结
这段代码的目的是将 非 HTTPS 请求 重定向到 HTTPS,但排除对 Locoy.php 的请求。

具体逻辑如下:

如果请求的端口不是 443(即不是 HTTPS),且请求的 URI 不是 Locoy.php,则触发重定向。

如果请求的 URI 是 Locoy.php,则不进行重定向。

# 重定向非 Locoy.php 的请求到 HTTPS
location / {
if ($request_uri !~ “Locoy.php”) {
return 301 https://$host$request_uri;
}
}

# 处理 Locoy.php 的请求
location = /Locoy.php {
# 处理逻辑
}
}
使用 map 指令:如果需要更复杂的条件判断,可以使用 map 指令来替代 if。

总结
这段代码的核心功能是将非 HTTPS 请求重定向到 HTTPS,但排除对 Locoy.php 的请求。通过设置变量 $flag 并逐步追加值,最终判断是否满足重定向条件。
虽然功能实现正确,但在实际使用中建议优化代码结构以提高性能。

未经允许不得转载:今夕资源网 » 火车头发布模块获取不到栏目的解决方法
扫二维码手机阅读本页
赞(0)

评论抢沙发

评论前必须登录!