Domain-Tárhely.net - Minőségi tárhely és domain szolgáltatás megfizethető áron!

301 -es permanens átirányítás htaccess segítségével

2014 4. 8.

in Nem besorolt

Mi az a htaccess?

A htaccess egy rejtett fájl weboldalunk gyökérkönyvtárában. Teljes neve: .htaccess
Igazából egy név nélküli, htaccess kiterjesztésű szöveges fájl. Bármilyen egyszerű szövegszerkesztő programmal szerkeszthető (pl. Notepad, Notepad++), ellenben nem használható olyan szövegszerkesztő, mely formázásokkal tűzdeli tele a szöveget (pl. Microsoft Word, OpenOffice Writer, stb.)

Mire is jó igazából?

A htaccess fájl segítségével sok mindent beállíthatunk a honlapunk működésével kapcsolatosan. Íme néhány példa:

  • egyedi hibaoldalak létrehozása
  • a honlap bármely könyvtárának jelszavas védelme
  • szépen kinéző (keresőbarát) linkek létrehozása
  • a honlap képeinek más honlapba való beágyazásának tiltása
  • megszüntetett oldalak átirányítása
  • IP cím alapján látogatók tiltása
  • és még sok minden más…

Néhány fontos tudnivaló a htaccess -szel kapcsolatosan:

  • FTP -n történű feltöltéskor az átvitel módja ascii (vagy automatikus) legyen, bináris (binary) mód nem jó!
  • A htaccess fájlt néhány szerver nem engedi feltölteni a fájlnév előtti pont miatt. A legegyszerűbb megoldás, ha felmásoljuk htaccess.txt néven és weboldalunk tárhelyén nevezzük át .htaccess -re.
  • A htaccess nem működik Windows szervereken.
  • Figyelni kell arra is, hogy a feltöltés során NE írjuk felül a már esetlegesen ott lévő htaccess fájlt. Sok CMS (Joomla, WordPress, Drupal) saját bejegyzéseket ír a htaccess -be. Akár a teljes weboldalunk működését leállíthatjuk egy rossz mozdulattal!
  • Nem árt leellenőrizni, hogy az FTP program, amit használunk, megjeleníti -e a rejtett fájlokat. Ügyes és megbízható FTP programok: TotalCommander, FlashFXP, FizeZilla.
  • Mindig ellenőrizzük az eredményt. Sikerült -e felmásolni a fájlt a tárhelyre, illetve valóban működnek -e a módosítások. Ha például a címben szereplő 301 -es átirányítást alkalmazzuk, de a header -ben (feléc) 302 -es üzenetet kapunk vissza, az csak átmeneti állapotot jelent, a 301 -es üzenet jelenti a tartós átirányítást.

(A példákban szereplő sajatdomain.hu domain neveket, címeket természetesen éles használatkor át kell írni a valódi domain névre.)

Egész honlap átirányítása
Ezzel a módszerrel a régi honlap (ahol a htaccess módosításra kerül) minden forgalmát az újra lehet irányítani:
Redirect 301 / http://www.sajatdomain.hu/

Egy adott oldal (fájl) átirányítása
Ha csak egyetlen egy oldalt szeretnénk átirányítani, ahhoz használjuk a következő sort:
Redirect 301 /regioldal.html http://www.sajatdomain.hu/ujoldal.html

Teljes honlap átirányítása almappástul
Abban az esetben, ha új domain -re szeretnénk átirányítani mindent és ott a mappastruktúra megegyezik a jelenlegi honlapéval, akkor csupán szúrjuk be a következő sort a htaccess -be:
RedirectMatch 301 /(.*) http://ujdomain.hu

Fájlnevek módosítása esetén
Ha megváltoztattuk pl. a HTML fájlokat PHP fájlokra, akkor minden olyan link, mely a HTML fájlokra mutatna, hibás lesz. Irányítsunk át minden HTML fájl iránti kérést PHP -re:
RedirectMatch 301 (.*)\.html$ http://www.sajatdomain.hu$1.php

A következőkben nézzünk néhány összetettebb példát.

WWW nélküli cím átirányítás a WWW -s címre

# Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sajatdomain.hu [NC]
RewriteRule ^(.*)$ http://www.sajatdomain.hu/$1 [L,R=301

A WWW -s cím használata keresőbarát, a találati listán jobb helyezést lehet vele elérni.

WWW -s cím átirányítása a WWW nélküli címre

# Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^sajatdomain\.hu
RewriteRule (.*) http://sajatdomain.hu/$1 [R=301,L]

Ha nem szeretnénk a WWW -s címet használni, de előfordul, hogy a látogatók WWW -vel írják be, akkor alkalmazzuk ezt a kódot.

index.php átirányítása a főoldalra

# Options +FollowSymLinks
RewriteEngine on
# index.php to /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php\ HTTP/
RewriteRule ^(.*)index\.php$ /$1 [R=301,L]

Természetesen az index.html is teljesen hasonlóan működik, csupán .php helyett .html -t kell írnunk.
A keresők találati listájában a weboldalunk, illetve a weboldal index-fájlja (index.html vagy php) külön-külön szerepel. Ezekkel a sorokkal elérhetjük, hogy a kettő egynek számítson.

FONTOS: az Options +FollowSymLinks sort a példákban kommenteléssel (# jel) inaktívvá tettük. A mi szervereinken ez az beállítás eleve adott, így ügyfeleinknek ezt nem kell beállítania, de más szolgáltatóknál lehet, hogy szükség van rá.

Előző cikk:
Következő cikk:
Szólj hozzá!
Virtuális szerver, Linux VPS