301-Umleitung – Nginx-Domänenname der zweiten Ebene leitet zum Verzeichnis weiter
世界只因有你
世界只因有你 2017-05-16 17:17:35
0
2
597

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?

世界只因有你
世界只因有你

Antworte allen (2)
Ty80
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; #}

测试可行

    習慣沉默

    非常感谢大牛,这个方法比较好,解决了

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!