26
的想法是把进入的请求http://abc.example.com/...
,并将其改写为http://example.com/abc/...
Nginx的转换子域路径组件,而不重定向
这是很容易与301/302重定向的事情:
# rewrite via 301 Moved Permanently
server {
listen 80;
server_name abc.example.com;
rewrite^$scheme://example.com/abc$request_uri permanent;
}
诀窍当abc.example.com
和example.com
指向相同的Nginx实例时,将此URL更改为透明到客户端。
换句话说,可以Nginx的服务从example.com/abc/...
内容时被请求abc.example.com/...
和没有其他客户端往返?
与301完成任务的起点配置
Nginx的配置:
# abc.example.com
server {
listen 80;
server_name abc.example.com;
rewrite^$scheme://example.com/abc$request_uri permanent;
}
# example.com
server {
listen 80;
server_name example.com;
location/{
# ...
}
}
伟大工程具有Nginx的代理本身。将主机更改为127.0.0.1,否则Nginx必须解析主机名(一个单独的问题)。添加'$ request_uri',以便在代理请求中追加路径。 –
这很好用。注意静态资产可能会有404. –
@KJPrince 404资产有什么问题? –