如何在 nginx 中执行以下操作?
我有一个托管在 example.com/id/44 上的网站,我想将我的域名 test.com 链接到该网址。我还希望网址中的域名始终为 test.com,而不是 example.com 网址。
所以 test.com --> example.com/id/44
我目前在 nginx 中有以下内容,但 URL 没有坚持到 test.com
server {
server_name www.test.eu test.eu;
access_log /srv/www/www.test.eu/logs/access.log;
error_log /srv/www/www.test.eu/logs/error.log;
root /srv/www/www.test.eu/public_html/src/public;
location / {
rewrite ^/ http://www.example.com/id/5 break;
}
}
这在 nginx 中可能吗?
答案1
简单的回答:不。
Nginx 无法跨主机名进行重写,它只能重写 URI。您可以采用其他方式进行重写,或者必须使用 Nginx 以外的其他工具。
答案2
也许你想考虑使用 nginx 作为 test.com 的反向代理。以下代码可能会让你感兴趣:
server test.com {
location / {
proxy_pass http://www.example.com/id/5;
}
}