KÉRDÉSE VAN?
URL átirányítás/átírás .htaccess fájl segítségével
Alapértelmezésben az Ön weboldala elérhető www előtaggal illetve a nélkül is. A Google keresési eredményeiben sajnos rosszabb helyezést ér el az a domain név amelyiknél a tartalom elérhető www-vel is és a nélkül is. Mivel egyes hivatkozásokat a keresők beindexeltek ezért szükség van ezen URL címek átírására, átirányítására.
Átirányítás www-ről, vagy www-re
Hogyan irányíthatjuk át az össze hivatkozást a www.pelda.hu címről a pelda.hu címre?
301-es típusú átirányítás segítségével az összes http kérés át lehet irányítani a www.pelda.hu címről a pelda.hu címre vagy fordítva
- a pelda.hu átirányítása a www.pelda.hu címre
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.pelda.hu$ [NC] RewriteRule ^(.*)$ http://www.pelda.hu/$1 [L,R=301]
- a www.pelda.hu átirányítása a pelda.hu címre
RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.pelda\.hu$ RewriteRule ^/?$ "http\:\/\/pelda\.hu\/" [R=301,L]
Magyarázat
Az első sorral utasítjuk az Apache-ot hogy használja a rewrite modult.
A következő sor határozza meg feltételt:
RewriteCond %{HTTP_HOST} !^www.pelda.hu$ [NC]
Csak a http alapú kérésekre vonatkozik az átirányítás %{HTTP_HOST}
.
Ezt követően adjuk meg azt hogy milyen URL címre vonatkozzon a szűrés, jelen esetben ha az URL címben nem szerepel a www akkor irányítjuk át. Ezt a !
segítségével állítjuk be.
A $
karakter határozza meg azt, hogy ha www.pelda.hu szerepel az URL címben akkor a következő sorban szereplő szabály alapján kerül átírásra az URL cím.
Az [NC]
jelentése „no case”, azaz ezen flag használata esetén a kisbetű és a nagybetű között nincs különbség. Több flag esetében azokat a kapcsos zárójelen belül vesszővel választjuk el egymástól, azaz pl. [NC,OR]
jelölést alkalmazhatunk.
Az utolsó sorban adjuk meg az átirányítási feltételt.
RewriteRule ^(.*)$ http://www.pelda.hu/$1 [L,R=301]
A ^(.*)$
egy reguláris kifejezés ahol a ^
jelöli az „illesztendő” kifejezés elejét.
A ()
segítségével adhatjuk meg hogy az adott karaktereket egységként kezelje.
A .
karakterrel bármilyen karaktert helyettesíthetünk.
A *
karakterrel adható meg az előző karakter vagy zárójeles kifejezés legalább nullaszor.
A $
karakter határozza meg a kifejezés végét.
Ezt követi az az URL cím amire át kívánjuk irányítani a címet. Az utolsó []
között található karakterek jelentése:
L
– az utolsó szabályt jelöli
R
– Az átirányítás típusát határozza meg.
Hogyan irányíthatom át a látogatókat HTTPS protokollra?
Abban az esetben ha érvényes tanúsítvány lett beállítva a domain névnél akkor javasolt a látogatókat átirányítani a nem biztonságos http:// címről a biztonságos https:// címre.
Az átirányítást legegyszerűbben az adott domain névhez tartozó dokumentum_root mappájában található .htaccess fájl módosításával oldható meg.
A példában szereplő sorok segítségével az adott domain név minden felhasználóját át fogja irányítani a nem biztonságos (http://) URL-ről a biztonságos (https://) URL-re.
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://pelda.hu/$1 [R=301,L]