首頁  >  問答  >  主體

apache - 二級域名映射到一級域名的url

假設一級網域是 taobao.com
每個店舖有一個二級域名,有一個店鋪叫寶寶,他的域名是 baobao.taobao.com
每個店舖透過二級域名訪問,轉向 taobao.com/shop/baobao

#

也就是說有大量的店,每家店都有一個二級域名,假設域名是xxx.taobao.com
需要轉向 taobao.com/shop/xxx

#

DNS的* A 記錄都指向這台機器。
如果使用apache mod_rewrite 實現的話,配置如何寫?

另還有其他方式沒?

给我你的怀抱给我你的怀抱2683 天前789

全部回覆(4)我來回復

  • 淡淡烟草味

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

    Nginx的寫法大概是這樣的:

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

    Apache類似:

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

    回覆
    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,看一下日誌麼?

    回覆
    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

    這個配置也不行,求大神。

    回覆
    0
  • 给我你的怀抱

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

    apache 可以這樣寫

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

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

    回覆
    0
  • 取消回覆