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

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;
    #}

测试可行

習慣沉默

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

Beliebte Tutorials
Mehr>
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!