Andaikan nama domain peringkat pertama ialah taobao.com
Setiap kedai mempunyai nama domain peringkat kedua Terdapat kedai bernama Baobao, dan nama domainnya ialah baobao.taobao.com
.
Setiap kedai diakses melalui nama domain peringkat kedua dan diubah hala ke taobao.com/shop/baobao
Maksudnya, terdapat sejumlah besar kedai, setiap kedai mempunyai nama domain peringkat kedua, dengan mengandaikan nama domain itu ialah xxx.taobao.com
Perlu beralih ke taobao.com/shop/xxx
DNS *A merekodkan semua menunjuk ke mesin ini.
Jika ia dilaksanakan menggunakan apache mod_rewrite, bagaimana untuk menulis konfigurasi?
Adakah cara lain?
Nginx mungkin ditulis seperti ini:
Apache adalah serupa dengan:
Tujuan
) /test/$1$2 #/test ialah direktori di sebalik www.test.com/
Apabila mengakses abc.test.com melompat ke www.test.com/test/abc, alamat penyemak imbas akan memaparkan alamat abc.test.com.
Kaedah
Tambahkan hos maya baharu pada fail konfigurasi Apache
NameVirtualHost :80
Nama Pelayan www.test.com
ServerAlias *.test.com
DocumentRoot /var/www/test
rewriteengine on
rewritecond %{HTTP_HOST} [^.]+.test.com$
tulis semula ^(.+) %{HTTP_HOST}$1 [C]
rewriterule ([^.]+).test.com(.
Selain itu, bolehkah anda menghidupkan nyahpepijat anda dan melihat log?
Saya menambah konfigurasi apache:
RewriteRule ^/([-a-z0-9]+).xiaocaowangluo.com/?$ http://xiaocaowangluo.com/shop/$1/ [L]
Terdapat dua sambungan di sini http://xiaocaowangluo.com/shop/test/ http://test.xiaocaowangluo.com/ Konfigurasi ini telah ditambahkan.
http://test.xiaocaowangluo.com/ Masih tidak boleh melompat ke http://xiaocaowangluo.com/shop/test/ Adakah saya perlu menambah yang lain
Untuk saya guna
RewriteEngine pada RewriteCond %{HTTP_HOST} ^[^.]+.xiaocaowangluo.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+).xiaocaowangluo.com(.*) /www/xiaocaowangluo/shop/$1$2
Konfigurasi ini juga tidak berfungsi, tolong bantu saya.
apache boleh ditulis seperti ini
Appconfig:
http://www.aips.me/sae-binding-domain-subdirectory.html