2011-09-29 19 views
6

Używam następujące przekierowanie domeny wieloznaczny sub do odpowiednich folderów:.htaccess mod-rewrite do subdomeny

RewriteCond %{REQUEST_URI} !^/users/ [NC] 
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$ [NC] 
RewriteCond %1 !=www [NC] 
RewriteRule ^(.*)$ /users/%1/$1/? [L] 

Chciałbym dodać regułę przepisywania który przekierowuje że ktoś ma dostęp bezpośrednim/Users/ścieżki wróć do wersji subdomen w następujący sposób:

www.domain.com/users/username/../../ => username.domain.com/../../ 

Z góry dziękujemy!

Odpowiedz

10

coś takiego:

RewriteEngine On 

RewriteCond %{http_host} ^domain.com [nc] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,NC] 

RewriteCond %{HTTP_HOST} ^www\.domain\.com$ [NC] 
RewriteRule ^users/([a-z0-9\-_\.]+)/?(.*)$ http://$1.domain.com/$2 [QSA,NC,R,L] 

Czy masz inne zasady niż jednego wymienionego w tej kwestii? jeśli tak, umieść je przed drugim.

np

http://www.domain.com/users/abc?q=test => http://abc.domain.com/?q=test 
http://www.domain.com/users/abc/sub1/sub2 => http://abc.domain.com/sub1/sub2 
http://www.domain.com/users/abc/sub1/?q=test => http://abc.domain.com/sub1/?q=test 
+0

Dziękujemy! Jednak wygląda na to, że działa tylko dla ../users/username => nazwa_użytkownika.domena.com, potrzebuję go również do pracy dla ../users/username/sub1/sub2/ => nazwa_użytkownika.domena.com/sub1/sub2 . czy to możliwe? – dSquared

+0

Zaktualizowałem moją odpowiedź –

+0

Dziękuję bardzo! Działa to idealnie, czy jest szansa, że ​​będzie można pracować na obu wersjach www.domain.com i domain.com? – dSquared