Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nginx重定向(子域到url)_Nginx - Fatal编程技术网

Nginx重定向(子域到url)

Nginx重定向(子域到url),nginx,Nginx,我买了一个网站,用户帐户URL使用这种格式:username.purchasedsite.com 将数据从旧站点导入我自己的应用程序后,我将purchasedsite.com指向我的新服务器,该应用程序使用此URL格式mydomain.com/app/username 现在,我如何将所有访问重定向到username.purchasedsite.com到mydomain.com/app/username 我尝试了这个,它重定向到的用户没有子域 server { listen 80;

我买了一个网站,用户帐户URL使用这种格式:
username.purchasedsite.com

将数据从旧站点导入我自己的应用程序后,我将
purchasedsite.com
指向我的新服务器,该应用程序使用此URL格式
mydomain.com/app/username

现在,我如何将所有访问重定向到
username.purchasedsite.com
mydomain.com/app/username

我尝试了这个,它重定向到的用户没有子域

server {
        listen 80;
        server_name purchaseddomain.com ~^(?<subdomain>\w+)\.purchaseddomain.com;

        rewrite (.*)$ http://mydomain.com/app/$subdomain;
}
服务器{
听80;
服务器名称purchaseddomain.com~ ^(?\w+)\.purchaseddomain.com;
重写(.*)$http://mydomain.com/app/$子域;
}
服务器{
听80;
服务器名称~^(?\w+)\.purchasedsite\.com$;
重写^http://mydomain.com/app/$username$request_uri?永久;
}

有数千个子域。我不能这样硬编码,我必须改变我的答案。我测试过了。另外,在你的问题的第一个变体中没有数千个子域的单词。需要将~^更改为~^,但在其他方面效果很好!
server {
     listen  80;
     server_name  ~ ^(?<username>\w+)\.purchasedsite\.com$;
     rewrite ^ http://mydomain.com/app/$username$request_uri? permanent; 
}