Heim  >  Fragen und Antworten  >  Hauptteil

Apache – Die URL des Domänennamens der zweiten Ebene, der dem Domänennamen der ersten Ebene zugeordnet ist

Angenommen, der Domainname der ersten Ebene lautet taobao.com
Jedes Geschäft hat einen Domänennamen der zweiten Ebene. Es gibt ein Geschäft namens Baobao und sein Domänenname ist baobao.taobao.com
Auf jeden Shop wird über den Second-Level-Domainnamen zugegriffen und zu taobao.com/shop/baobao

weitergeleitet

Das heißt, es gibt eine große Anzahl von Geschäften, jedes Geschäft hat einen Domänennamen der zweiten Ebene, vorausgesetzt, der Domänenname lautet xxx.taobao.com
Sie müssen sich an taobao.com/shop/xxx

wenden

Die DNS *A-Einträge verweisen alle auf diesen Computer.
Wenn es mit Apache mod_rewrite implementiert wird, wie schreibe ich die Konfiguration?

Gibt es noch andere Möglichkeiten?

给我你的怀抱给我你的怀抱2683 Tage vor790

Antworte allen(4)Ich werde antworten

  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:05:56

    Nginx的写法大概是这样的:

    server {
      listen 80;
      server_name xxx.taobao.com;
      if ( $http_host ~* “^(.*)\.taobao\.com$”) {
      set $domain $1;
      rewrite ^(.*) http://taobao.com/$domain/ break;
      }
    }
    

    Apache类似:

    RewriteRule ^/([-a-z0-9]+)\.taobao\.com\/?$ http://taobao.com/$1/ [L]
    

    Antwort
    0
  • 迷茫

    迷茫2017-05-16 17:05:56

    目的
    当访问abc.test.com跳转到www.test.com/test/abc ,浏览器地址会显示abc.test.com地址。
    方法
    在apache的配置文件里新增虚拟主机
    NameVirtualHost :80

    ServerName www.test.com
    ServerAlias *.test.com
    DocumentRoot /var/www/test
    rewriteengine on
    rewritecond %{HTTP_HOST} [^.]+.test.com$
    rewriterule ^(.+) %{HTTP_HOST}$1 [C]
    rewriterule ([^.]+).test.com(.
    ) /test/$1$2 #/test是www.test.com/后边的目录

    另外可以打开一下你的debug,看一下日志么?

    Antwort
    0
  • 高洛峰

    高洛峰2017-05-16 17:05:56

    我增加了apache配置:
    RewriteRule ^/([-a-z0-9]+).xiaocaowangluo.com\/?$ http://xiaocaowangluo.com/shop/$1/ [L]

    这里有两个连接 http://xiaocaowangluo.com/shop/test/ http://test.xiaocaowangluo.com/ 增加了这个配置。

    http://test.xiaocaowangluo.com/ 还是没有办法跳到 http://xiaocaowangluo.com/shop/test/ 是不是要需要增加其他的

    另我用
    RewriteEngine on RewriteCond %{HTTP_HOST} ^[^.]+.xiaocaowangluo.com$
    RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
    RewriteRule ^([^.]+).xiaocaowangluo.com(.*) /www/xiaocaowangluo/shop/$1$2

    这个配置也不行,求大神。

    Antwort
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 17:05:56

    apache 可以这样写

    RewriteRule ^/([-a-z0-9]+)\.yourdomain\.com\/?$ http://taobao.com/$1/ [L]
    

    Appconfig:
    http://www.aips.me/sae-binding-domain-subdirectory.html

    Antwort
    0
  • StornierenAntwort