我试图configurationNginx的redirect从一个文件夹到一个子域。 我已经尝试过Nginxredirect:文件夹到外部域和Nginx重写规则(子目录子域)和nginx:redirect子文件夹子域 。 没有任何工作
这个问题很简单。 我有一个configuration了这一行的Apache:
RedirectPermanent / asd http://asd.domain.com/
现在,我试图在Nginx上复制这个。 我试过的每一个configuration都有同样的问题:
如果我去http://www.domain.com/asd/ ,他们redirect到http://asd.domain.com/asd/ 。
如果我去http://www.domain.com/asd/index ,他们redirect到http://asd.domain.com/index 。
我需要在所有情况下删除子文件夹,对于我来说,第一个是不正确的。 如何在第一种情况下configurationnginx,请访问http://asd.domain.com/ ?
规则在根参数之后应用。 configuration是:
server { listen -- server_name -- root -- <> INSERT RULE HERE access_log -- error_log -- include - (A file with php configurations). }
尝试规则的一些例子:
重写^ / asd /(.*)http://asd.domain.com/ $ 1永久;
重写^ / asd(。*) http://asd.domain.com/ $ 1永久;
重写^ / asd(。*) http://asd.domain.com $ 1永久;
位置^〜/ asd / {重写^ / asd /(.*)http://asd.domain.com/ $ 1永久; }
位置^〜/ asd / {重写^ / asd(。*) http://asd.domain.com/ $ 1永久; }
位置^〜/ asd / {重写^ / asd(。*) http://asd.domain.com $ 1永久; }
此外,位置变化与“location〜^ / asd /(。 )”或“location〜^ / asd(。 )”
谢谢,
我想你已经接近rewrite ^/asd/(.*) http://asd.domain.com/$1 permanent;
根据文档 :
如果replacestring包含新的请求参数,则先前的请求参数将附加在它们后面。 如果这是不希望的,在replacestring的末尾添加一个问号可以避免添加它们
但是你可能需要添加一个? ,只是为了好的做法,结束美元如此:
rewrite ^/asd/(.*)$ http://asd.domain.com/$1? permanent;