老哥们,请教个nginx转发问题

原来有个站没精力搞,就弄了个自动程序上去,新程序内核是thinkphp的,原来网站收录的域名格式基本都是a.com/*.html,现在打开百度收录的页面,提示控制器不存在

image.webp

image.webp

也没跳转到404页面,百度谷歌了一早也没搞定,后面我想能不能在nginx配置这个域名的/*.html自动给它跳转到/404.html,想请问下各位20cm的大佬,这个nginx规则我该咋写啊。

 

是不是删了控制器文件

v2016
引用
是不是删了控制器文件
v2016 是不是删了控制器文件

没删除过啊,苹果cms

不存在应该就是404的,估计是你开了debug模式

rewrite /.+\.html /404.html permanent

狗云aff助手
引用
不存在应该就是404的,估计是你开了debug模式
听听听 不存在应该就是404的,估计是你开了debug模式

没开,开了就会有报错详情,贼多

doi
引用
rewrite /.+\.html /404.html permanent
doi rewrite /.+\.html /404.html permanent

老哥保存nginx报错

 

image.webp

f12是啥状态码

s
引用
doirewrite /.+\.html /404.html permanent 老哥保存nginx报错
s 老哥保存nginx报错  

最后要加分号……

doi
引用
s老哥保存nginx报错 最后要加分号……
doi 最后要加分号……

感谢大佬,大部分可以跳转到404了

狗云aff助手
引用
f12是啥状态码
听听听 f12是啥状态码

to load resource: the server responded with a status of 404 ()

doi
引用
s老哥保存nginx报错 最后要加分号……
doi 最后要加分号……

不得行,包括php啥的都跳转了[em_7]

s
引用
听听听f12是啥状态码 to load resource: the server responded with a status of 404 ()
s to load resource: the server responded with a status of 404 ()

这状态码就是404啊,你再检查一下是不是开debug,.env文件里面

s
引用
doi最后要加分号…… 不得行,包括php啥的都跳转了[em_7]
s 不得行,包括php啥的都跳转了[em_7]

php做了伪静态,导致url是.html结尾吗?

试着把这条规则放到location / {}里面

问问GPT

doi
引用
s不得行,包括php啥的都跳转了[em_7] php做了伪静态,导致url是.html结尾吗? 试着把这条规则放到location / {}里面
doi php做了伪静态,导致url是.html结尾吗? 试着把这条规则放到location / {}里面

放到原本伪静态的{}里就不生效了,只有放到伪静态之前才生效

1