Trước đây tôi sử dụng mã sau đây hoạt động chính xác để chuyển hướng URL gốc của từng tên miền / tên miền phụ của tôi sang thư mục con tương ứng của chúng được đặt tên chính xác là tên miền phụ / tên miền như sau:
RewriteCond %{HTTP_HOST} ^sub1.domain1.com
RewriteCond %{REQUEST_URI} !subs/sub1.domain1.com/
RewriteRule ^(.*)$ subs/%{HTTP_HOST}/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^sub2.domain1.com
RewriteCond %{REQUEST_URI} !subs/sub1.domain2.com/
RewriteRule ^(.*)$ subs/%{HTTP_HOST}/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^sub1.domain2.com
RewriteCond %{REQUEST_URI} !subs/sub1.domain2.com/
RewriteRule ^(.*)$ subs/%{HTTP_HOST}/$1 [L,QSA]
RewriteCond %{HTTP_HOST} ^sub2.domain2.com
RewriteCond %{REQUEST_URI} !subs/sub2.domain2.com/
RewriteRule ^(.*)$ subs/%{HTTP_HOST}/$1 [L,QSA]
Tuy nhiên khi tôi muốn thêm một mục con hoặc tên miền khác thì nó sẽ cần phải được thêm vào đoạn mã trên. Sẽ thuận tiện hơn nhiều khi đơn giản hóa nó để hoạt động như ký tự đại diện (*) như dưới đây:
RewriteCond %{HTTP_HOST} ^sub
RewriteCond %{REQUEST_URI} !/subs/
RewriteRule ^(.*)$ subs/%{HTTP_HOST}/$1 [L,QSA]
Vì vậy, bất cứ khi nào tên miền / tên miền khác được thêm vào miễn là tên miền phụ có tiền tố phụ (như: sub3.domain1.com, sub1.domain3.com, v.v.), mã sẽ vẫn hợp lệ.