ugrás a tartalomhoz

Rewrite átirányítás valami.hu -ról www.valami.hu -ra

thomasrc · 2007. Aug. 13. (H), 15.53
Rá kerestem a Google -n a domain.com vs www.domain.com -re, és találtam ezt a hozzászólást egy angol fórumon:

http://www.webmasterworld.com/forum48/2113.htm ( fentről lefelé a 3. hsz.-ről van szó ).

Ezt a részt:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
be illesztettem az apache virtual host -jába:

<VirtualHost *:80>
  ServerAdmin thomasrc##kukac##chello.hu
  DocumentRoot H:/home/domains/valami.hu/html/
  ServerName valami.hu
  ServerAlias www.valami.hu

  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^valami.hu
  RewriteRule (.*) http://www.valami.hu/$1 [R=301,L]

  [...]
</VirtualHost>
.

Az apache gond nélkül el indul.

És most jön a lényeg:

Azt kell meg valósítani, hogy ha valaki beírja, hogy valami.hu, akkor azt a kérést a szerver irányítsa át a www.valami.hu -ra.
A fenti Rewrite megoldás éppen hogy nem tökéletes:

Át irányítja a kérést a www.valami.hu -ra, ám a domain végére be biggyeszt egy "/" jelet, és így nem http://www.valami.hu/ lesz, hanem http://www.valami.hu// lesz.
Ugyanez az eset, ha valaki beírja azt, hogy valami.hu/phpmyadmin, akkor azt át irányítja a www-s címre, de a domain név után egy plusz "/" jel van ( http://valami.hu//phpmyadmin/ ).

És a kérdés: Hogyan lehet azt meg valósítani, hogy ne tegyen be "extraként" egy "/" jelet a domain név után ?

[OFF] Az apache conf -hoz milyen színezőt kell használni ( sql, html, ... ? )
 
1

Rewrite helyett Redirect?

Heilig Szabolcs · 2007. Aug. 13. (H), 16.21
Helló!

Talán kicsit erőforrástakarékosabb megoldás a Redirect-et használni, ráadásul ezt pontosan ilyen feladatokra rendszeresítették. A vhost-ba csak a www-s kiemelt domaint vedd fel ServerName-nek, a többi alias-t pedig egy másik vhsot-ba tedd:

<VirtualHost _a_szokasos_>
  ServerName valami.hu
  ServerAlias masvalami.hu      
  ServerAlias www.masvalami.hu      
  Redirect permanent / http://www.valami.hu/
</VirtualHost>


Ezzel jól szétválasztod a konfigban az odavaló vhost beállításokat és tisztán külön megtalálod az aliasokat. Ráadásul a path sem lesz elrontva. Az Apache konfigolásra is ráférne amúgy 1-2 maintability pattern. :)
2

soha nem fog teljesülni ?

thomasrc · 2007. Aug. 13. (H), 16.35
Nem jó.

Ezt írja ki a Firefox:
A Firefox azt észlelte, hogy a kiszolgáló olyan módon irányítja át a kérést, hogy az soha nem fog teljesülni.


És most így van a VirtualHost beállítva:

<VirtualHost *:80>
  ServerAdmin thomasrc##kukac##chello.hu
  DocumentRoot H:/home/domains/valami.hu/html/
  ServerName www.valami.hu
  #ServerAlias valami.hu
 
  Redirect 301 / http://www.virtual.hun/
</VirtualHost>


Gondoltam a ServerAlias -t kikommentezem, vagy ez rossz ötlet volt ?
3

Két bejegyzéssel

Török Gábor · 2007. Aug. 13. (H), 17.13
<VirtualHost *:80>
  ServerName valami.hu
  ServerAlias aldomain1.valami.hu aldomain2.valami.hu
  Redirect permanent / http://www.valami.hu/
</VirtualHost>

<VirtualHost *:80>
  ServerName www.valami.hu
  DocumentRoot H:/home/domains/valami.hu/html/
</VirtualHost>
4

Jaja

Heilig Szabolcs · 2007. Aug. 13. (H), 17.22
Na, lehet én nem fogalmaztam világosan, de itt van Gábor szájbarágósabb verziója. Egy vhostba teszed CSAK a www-s címet, rendes documentroot, egyebek. A másikba megy az összes többi név, ha csak valami.hu, akkor csak ServerName valami.hu Plusz a Redirect.

Azért is hazsnos így bontani, mert a www.valami.hu feloldása után, azaz amikor eldönti, hogy a www-s vhostot használja már nem fogja feleslegesen elemezgetni a hosztnevet.
5

Értem

thomasrc · 2007. Aug. 13. (H), 17.33
Oké, így utólag leesett, és most már működik rendesen. És kösz a gyors segítségért :).

Ui.: Ha kérhetem, akkor a téma címben szerkesszétek át a www.valmi.hu -t www.valami.hu -ra ( történt egy kis elírás :( ).
6

done

Heilig Szabolcs · 2007. Aug. 13. (H), 17.36
megtörtént