Heim > Fragen und Antworten > Hauptteil
Der Domänenname der zweiten Ebene wird in das Verzeichnis umgeleitet. Da der Domänenname der zweiten Ebene aufgegeben wird, muss er erneut auf 301 umgeleitet werden.
Zum Beispiel leitet jianfei.xxx.com zu www.xxx.com/jianfei weiter
Die andere Sache ist, dass www ausgeschlossen werden muss. Wie schreibt man das?
PHP中文网2017-05-16 17:19:35
if ($host = 'jianfei.xxx.com' ) {
rewrite ^/(.*)$ http://www.xxx.com/jianfei/$1 permanent;
}
------------------修改一下--------
题主说jianfei是个变量,所以上面的方法不行。
考虑是否可以建两个配置文件
www.xxx.com.conf,不需要rewrite
server {
listen 80;
server_name www.xxx.cn xxx.cn;
other.xxx.com.conf,专门用来rewrite到www域名
server {
listen 80;
server_name ~^(.*).xxx.com$;
set $sub_name $1;
#if ($sub_name ~* (jianfei|gongjingmilan|others) ){#如果是部分子域名要跳转可以枚举或正则匹配,全部子域名都跳可以注释掉
rewrite ^/(.*)$ http://www.xxx.com/$sub_name/$1;
#}
测试可行