Web-Server

nginx 重定向到子域,即使沒有斜杠

  • March 10, 2011

我剛剛在我的專用伺服器上安裝並部分配置了 nginx。但是我在理解正則表達式時遇到了一些麻煩。我想讓 nginx 重定向 www.mydomain.com/forum/www.mydomain.com/forum (注意缺少的斜杠;不區分大小寫;同樣適用於“forums”而不是“forum”)到 forum.mydomain .com/。這就是我想出的:

`location ~* ^/(forum|forums) {

rewrite ^/(.)/(.)$ http://forum.mydomain.com/$2? permanent;

}`

…但由於某種原因,它僅適用於斜杠。:-/

請幫我!提前致謝!

嘗試:

location ~* ^/(forum|forums)/? {
  rewrite ^/(.*)/(.*)$ http://forum.mydomain.com/$2? permanent;
}

編輯:

好的位置似乎工作,問題可能是重寫行。

location ~* ^/forums?/?$ {
  rewrite /forums?/?(.*) http://forum.mydomain.com/$1 permanent;
}

測試了正則表達式pcretest並正確擷取它,看看它是否有效。

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