wordpress - Nginx 重写 url 以匹配代理地址
问题描述
我正在运行一个 wordpress docker 容器,可以通过主机端口访问该站点8000
,如果转到 localhost:8000 繁荣我可以看到我的 wordpress 站点。
总是打字看我的网站很无聊localhost:8000
,所以我决定委托 nginx 作为我网站的反向代理。我已经在 nginx 中设置了一个名为 的虚拟主机proxy.site
,我现在可以通过 wordpress 站点访问http://proxy.site
。
到目前为止,我们做得很好,当http://proxy.site
打开时,我可以看到我的博客文章列表,假设我想阅读关于 COVID-19 的最新博客文章,当我点击链接时,它打开了作为http://localhost:8000/posts/covid19
我希望它使用代理 url 打开http://proxy.site/posts/covid19
,我需要通过http://proxy.site
站点名称访问整个站点,
我需要 nginx 来重写我的所有链接,没有人喜欢在localhost:8000/*
访问proxy.site/*
博客时输入端口,
这是我的 nginx conf 文件的样子
server {
listen 80;
listen [::]:80;
root /var/www/proxy.site/html;
index index.html index.htm index.nginx-debian.html;
server_name proxy.site www.proxy.site;
location / {
proxy_pass http://localhost:8000;
#proxy_set_header HOST $host;
#proxy_redirect http://localhost:8000/ http://proxy.site/ ;
#try_files $uri $uri/ =404;
}
}
如何使用我的自定义主机名重写代理站点中的所有 url?
解决方案
Nginx 不监听 localhost:8080,nginx 不会检查来自您站点的链接来重写它们,您应该在 WordPress 上找到一种方法来替换您的链接的基本 url。基于环境