PDA

Pogčedajte punu verziju : .htaccess - rewrite subdomena


kodi
14. 01. 2007., 13:02
prica je sledeca:

radim najednom projektu koji je nesto poput WP MU, znaci svaki registrovani user ima svoj subdomain

ideja je da
domain.com i www.domain.com vode na globalni index.html
a da user.domain.com vodi na user custom page (recimo my-index.php)

za sada sam resio stvari ovako


RewriteEngine on

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

rewriteCond %{HTTP_HOST} ^(.+)\.domain\.com
rewriteRule .* my-index.php?u=%1


i to radi super , rewituje:
user.domain.com u:
domain.com/my-index.php?u=user
dok u address baru i dalje stoji user.domain.com ..jednom recju sve ok.

medjutim, kako da odradim sledeci rewrite:

user.domain.com/read/news/43
u naprimer
domain.com/my-index.php?u=user&action=read&mode=news&id=43


znaci treba mi klasican /action/mode/id rewrite + subdomain rewrite

P.S.
naravno, ukljucen je wildcard domains [*.domain.com => domain.com]

ivanhoe
14. 01. 2007., 13:13
rewriteCond %{HTTP_HOST} ^(.+)\.domain\.com [NC]
rewriteCond %1 !=www [NC]
RewriteRule ^read/news/(.*)$ http://domain.com/my-index.php?u=%1&action=read&mode=news&id=$1 [L,R=301,NC]

kodi
14. 01. 2007., 14:32
hvala man, to nije bas ono sto sam trazio...
ali mi je definitivno pomoglo da napisem ono sto mi treba

elem tvoj slucaj radi ok..ali samo za user.domain.com/read/news/id
ali ja sam mislio (moja greska nisam dobro objasnio) da su ti parametri opcioni

i da u addres baru uvek treba da ostane user.domain.com[ostatak, if any]
elem, resio sam stvar ovako

ewriteEngine on

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

rewriteCond %{HTTP_HOST} ^(.+)\.domain\.com
rewriteRule ^([a-z]+)?/?([a-z]+)?/?([a-z0-9]+)?/?$ my-index.php?u=%1&action=$1&mode=$2&id=$3 [L]


evo primera kako to sada radi

url:user.domain.com[/]
$_SERVER[QUERY_STRING]=>u=user&action=&mode=&id=

url:user.domain.com/aa[/]
$_SERVER[QUERY_STRING]=>u=user&action=aa&mode=&id=

url:user.domain.com/aa/bb[/]
$_SERVER[QUERY_STRING]=>u=user&action=aa&mode=bb&id=

url:user.domain.com/aa/bb/xyz[/]
$_SERVER[QUERY_STRING] => u=user&action=aa&mode=bb&id=xyz