【问题标题】:View file with question mark in nginx在nginx中查看带问号的文件
【发布时间】:2021-07-17 19:34:18
【问题描述】:

我有一些使用 wget 镜像某些页面的代码,并且某些要镜像的页面是诸如“http://example.com/somepage.php?id=1234”之类的链接。 wget 最终将这些页面保存为“somepage.php?id=1234.html”。当我尝试访问该页面时,我得到了 404。

我尝试添加“autoindex on;”到该目录的配置以确保文件名正确,当我访问包含该页面的目录时单击 nginx 生成的链接,我仍然得到 404。

如何让 nginx 提供名称中带有问号的页面?

【问题讨论】:

  • 你试过访问somepage.php%3Fid=1234.html吗?
  • 当然,这行得通,谢谢。我猜这是 nginx 中的一个错误,它的目录列表不会自动转义字符
  • 好的,因此您应该将该解决方案作为答案发布并接受它,这样就不会再显示为未回答的问题。 (也许我应该一开始就发布我的评论作为答案,但我不确定它会起作用!)
  • 哦,而且——不客气。 :-)
  • "声望低于 100 的用户在提问后 8 小时内无法回答自己的问题" :(

标签: http nginx webserver


【解决方案1】:

致未来的读者:访问somepage.php%3Fid=1234.html 有效。 (参见上面的 cmets。)

【讨论】:

  • 为什么 nginx 不自动接受? ,我不是必须将 %3F 放在我的 html 文件中吗?
  • 我不想说这个晚了 11 年,但 IMO 这不是一个真正的答案。
【解决方案2】:

也有这个问题,解决方法是用try_files $request_uri替换try_files $uri

或者你可以同时使用:

try_files $uri $request_uri =404;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多