suchen

Heim  >  Fragen und Antworten  >  Hauptteil

301-Umleitung – Nginx-Domänenname der zweiten Ebene leitet zum Verzeichnis weiter

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?

世界只因有你世界只因有你2807 Tage vor730

Antworte allen(2)Ich werde antworten

  • PHP中文网

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

    测试可行

    Antwort
    0
  • 習慣沉默

    習慣沉默2017-05-16 17:19:35

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

    Antwort
    0
  • StornierenAntwort