我想使用 提供静态文件nginx
。我通过 获得静态页面wget
,目录树的根是页面协议。例如http://www.example.com/:
http └── www.example.com └── index.html
我希望能够提供如下页面: http://website.com/page/http://www.example.com/ 渲染http://website.com/page/http/www.example.com/
nginx
这个的配置是什么?
更新:我试过了:rewrite ^(.+)://(.+)$ $1/$2 last;
但是没有用
答案1
如果我理解正确的话,那么您很可能正在寻找像 Squid 这样的正向代理,Nginx 是反向代理,并不是真正适合这种情况。
答案2
正如您在location
指令文档:匹配是针对规范化的 URI 执行的,在解码以“%XX”形式编码的文本、解析对相对路径组件“。”和“..”的引用以及将两个或多个相邻的斜线压缩为一个斜线之后。
server
您可以使用以下命令阻止 nginx 在块级别合并斜杠merge_slashes
,尽管我建议谨慎做这样的事情并且通常不建议这样做。
您的正则表达式与规范化的 URI 不匹配。您需要使用:
rewrite ^(.+):/(.+)$ $1/$2 last;
作为补充建议,您可能需要查看正则表达式,用.
更具体的类或集合替换通用的万能字符,以便更好地定义其行为。