起因
事情是这样的,朋友给我安利了一款游戏叫魔女之家,这是一款恐怖解谜游戏,当然本篇博客的重点不是游戏
经过
我拿到游戏本体后发现游戏目录下有个www目录,并且根目录下有node.dll,我当即怀疑这是个web游戏套壳
在好奇心驱使下,我启动了本地web服务器,并在浏览器中成功打开了该游戏,可以正常游玩,并且发现在web端游戏的存档数据是放在浏览器中的
到这里都还算正常
发展
然后我想把它挂到cloudflare的pages上,这样随时都可以用浏览器游玩了
但是,当部署好后,打开对应的地址,会报错,浏览器控制台有报错404,这时我以为是cloudflare的问题
解决方案
将所有资源文件转为小写
然后在nginx中使用lua将请求路径全部转为小写
# 使用 Lua 模块将请求 URI 转换为小写
rewrite_by_lua_block {
local uri = ngx.var.uri
local lower_uri = string.lower(uri)
-- 如果原始 URI 不是全小写,则内部修改请求 URI
-- true 参数表示保留原始的查询字符串
if uri ~= lower_uri then
ngx.req.set_uri(lower_uri, true)
end
}
