PDA

Pogčedajte punu verziju : Redirekcija alias-a preko .htaccess-a


Misko
27. 10. 2007., 18:17
Prolistah forum, progooglah ali ne nađoh šta mi je potrebno. Naime, imam nekidomen.com i imam nekidomen.co.yu koji je alias na .com domen (tj. na host). Moje je pitanje da li mogu da redirektujem upit tako da kad neko odkuca www.nekidomen.com bude redirektovan na poddomen.nekidomen.com, ali da kada otkuca nekidomen.co.yu onda ostane u root folderu hosta? Ustvari hocu da odvojim domene iako je co.yu samo alijas.

Nadam se da sam bio jasan. Unapred hvala.

Misha
27. 10. 2007., 18:59
Mozda bi najlakse bilo iz PHP-a odraditi logiku za ovo u nekom index.php Nesto slicno ovome ...

if ($_SERVER['HTTP_HOST'] == 'www.nekidomen.com')
{
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://poddomen.nekidomen.com" );
}

Mozda ces umesto HTTP_HOST morati neku drugu promenjivu da koristis, zavisi kako je server setovan.

Tezi al cistiji nacin bi bio da koristis Apache-ov mod_rewrite ... al ako ti PHP odradjuje posao sto da ne ...

noviKorisnik
27. 10. 2007., 19:15
Pogledaj RewriteCond (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond), rekao bih da ti treba provera za SERVER_NAME ili SERVER_ADDR, posle čega stavljaš RewriteRule na odgovarajući poddomen sa flagom za redirekciju [R].

(to ja ovako teoretski, nisam se baš puno igrao s tim stvarima)

Misko
27. 10. 2007., 19:17
Mozda bi najlakse bilo iz PHP-a odraditi logiku za ovo u nekom index.php Nesto slicno ovome ...

if ($_SERVER['HTTP_HOST'] == 'www.nekidomen.com')
{
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: http://poddomen.nekidomen.com" );
}

Mozda ces umesto HTTP_HOST morati neku drugu promenjivu da koristis, zavisi kako je server setovan.

Tezi al cistiji nacin bi bio da koristis Apache-ov mod_rewrite ...

Upravo mi mod_rewrite i treba. Kroz PHP sam i ja znao da redirektujem. Svakako hvala na odgovoru.

Misha
27. 10. 2007., 19:24
Ondak ti mozda ove puskice mogu pomoci: http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/ Pogledaj u primerima prvi primer ...

Misko
27. 10. 2007., 19:26
Pogledaj RewriteCond (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond), rekao bih da ti treba provera za SERVER_NAME ili SERVER_ADDR, posle čega stavljaš RewriteRule na odgovarajući poddomen sa flagom za redirekciju [R].

(to ja ovako teoretski, nisam se baš puno igrao s tim stvarima)

hmmm... ovo bi možda moglo da pomogne... poigraću se malo pa ću da javim šta sam uradio...

mileusna
27. 10. 2007., 19:33
RewriteCond %{HTTP_HOST} ^www.nekidomen.com
RewriteRule ^(.*) http://poddomen.nekidomen.com/ [R,L]

noviKorisnik
27. 10. 2007., 19:41
Verovatno onda HTTP_HOST umesto ovih koje sam pomenuo, ono [L] označava poslednju direktivu, a moglo bi da bude zgodno da se doda još $1 na adresu za redirekciju - da ne šalje sve na naslovnu stranu (osim ako ne želiš baš tako).

Misko
27. 10. 2007., 23:18
@mileusna
Ne ide... da nije možda do servera? Celo veče se mučim i tražim po netu i ne ide pa ne ide...

Nešto mi pade na pamet, da li mogu da kroz htaccess menjam alijase na apaču? Tj. da za određeni domen promenim direktorijum... ili tako nešto....

mileusna
27. 10. 2007., 23:21
Da li ti uopšte radi bilo kakav rewrite ili samo navedeni primer ne radi? Možda mod_rewrite nije enabled na serveru?

Misko
27. 10. 2007., 23:37
Samo ovaj primer... mod_rewrite je uključen... bar mi tako kaže phpinfo()

Misko
28. 10. 2007., 02:01
Rešio :1094: ... trebalo je samo uključiti rewrite engine... :1095:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.nekidomen.com
RewriteRule ^(.*) http://poddomen.nekidomen.com [R,L]

Hvala mileusna !