Domain-Name-System

Nginx 配置將子域名重寫為第一個 URI 段

  • August 30, 2012

我無法執行以下 nginx.conf 重寫:

test.mysite.info 

到:

mysite.info/test

這是我嘗試過的:

server {
 server_name test.mysite.info;
 rewrite ^  https://mysite.info/test/$request_uri;
}

我知道我的 DNS(Route53 AWS)是正確的 b/c:

  1. test.mysite.info 重定向到 mysite.info(只是不是 mysite.info/test)
  2. 我有一個處理 mysite 的 Apache 伺服器。com使用 .htaccess 我可以重寫test.mysite.commysite.com/test.

我沒有從預設的 nginx.conf 安裝中更改任何其他內容,所以我完全不知道為什麼這麼簡單的事情不起作用。如果有幫助,這是我的完整 nginx.conf 文件。

看起來您忘記指定監聽指令:

server {
   listen      80;
   server_name test.mysite.info;
   rewrite     ^ https://mysite.info/test$request_uri;
}

但是等等,return可能比rewrite

server {
   listen      80;
   server_name test.mysite.info;
   return      301 https://mysite.info/test$request_uri;
}

引用自:https://serverfault.com/questions/422623