假設一級網域是 taobao.com 每個店舖有一個二級域名,有一個店鋪叫寶寶,他的域名是 baobao.taobao.com 每個店舖透過二級域名訪問,轉向 taobao.com/shop/baobao
也就是說有大量的店,每家店都有一個二級域名,假設域名是xxx.taobao.com 需要轉向 taobao.com/shop/xxx
DNS的* A 記錄都指向這台機器。 如果使用apache mod_rewrite 實現的話,配置如何寫?
另還有其他方式沒?
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]
目的 當造訪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,看一下日誌麼?
我增加了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
這個配置也不行,求大神。
apache 可以這樣寫
RewriteRule ^/([-a-z0-9]+)\.yourdomain\.com\/?$ http://taobao.com// [L]
Appconfig:http://www.aips.me/sae-binding-domain-subdirectory.html
Nginx的寫法大概是這樣的:
Apache類似:
目的
) /test/$1$2 #/test是www.test.com/後邊的目錄
當造訪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(.
另外可以打開一下你的debug,看一下日誌麼?
我增加了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
這個配置也不行,求大神。
apache 可以這樣寫
Appconfig:
http://www.aips.me/sae-binding-domain-subdirectory.html