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資產有什麼問題? –