Ubuntu/Nginx - 将外部 URL 重定向到本地文件夹

Ubuntu/Nginx - 将外部 URL 重定向到本地文件夹

我有一些文件从不在我的服务器上的另一个域获取数据。例如从www.example.com/mypdf.pdf 我无法控制此功能,但我不想从 example.com 获取 pdf 文件,而是希望它从 mydomain.com/mypdf.pdf 获取文档。

答案1

您可以使用 ngx_http_rewrite_module 模块 尤其是 return 指令

这是一个将客户端重定向到新域名的一个非常简单的示例:

server {
    listen 80;
    listen 443 ssl;
    server_name www.old-name.com;
    return 301 $scheme://www.new-name.com$request_uri;
}

指令意味着该server{}块适用于 HTTP 和 HTTPS。

服务器名称 指令匹配带有域名的请求URL www.old‑name.com

return指令告诉 NGINX 停止处理请求并立即将代码301(永久移动)和指定的重写 URL 发送给客户端。

新的 URL 使用两个 NGINX 变量从原始请求 URL 中捕获:

  • $scheme是协议(http 或 https)
  • $request_uri是包含参数的完整 URI。

有关详细信息,请参阅 创建 NGINX 重写规则

答案2

您所描述的基本上是一个链接。

您可以在网站 HTML 中创建指向外部资源的链接:

<a href="https://www.example.com/mypdf.pdf">link text</a>

相关内容