htaccess átirányítás

htaccess átirányításA .htaccess alapú átirányításról már régebben is volt szó itt a lapon, de nem lett teljesen kifejtve, hogy milyen lehetőségek is rejlenek e téren. Egy tegnapi beszélgetés során felmerült a kérdés, hogy lehetne a http://tutorial.hu-t átirányítani a http://www.tutorial.hu-ra, és elkezdtem keresgélni a neten, milyen megoldások is vannak. Így találtam olyan érdekes és hasznos megoldásokat, melyeket gondoltam megosztok Veletek is.

Először is pár általánosabb megjegyzés a .htaccess-vel kapcsolatban:

  • Amikor a .htaccess fájlt feltöltöd a szerverre, figyelj oda, hogy ascii módban történjen meg (a binary mód nem jó ilyenkor nem jó!).
  • A .htaccess nem működik windows szervereken
  • A .htaccess fájlt nem minden szerver engedi feltölteni (a fáljnév előtti pont miatt), ilyenkor jó megoldás lehet, ha feltöltöd htaccess.txt néven, majd a szerveren módosítod a nevet .htaccess-re.
  • Győződj meg róla, hogy az általad használt FTP kliens program meg is jeleníti a szerverre feltöltött .htaccess fájlt (pl. FlashFXP, FileZilla okés)
  • Figyelj oda arra is, hogy amikor feltöltöd a fájlt, nehogy felülírd a már esetlegesen fent lévőt. Nagyon sok CMS feltölti a sajátját, kár lenne azt gallyravágni.
  • Módosítások után ellenőrizd az eredményt, tényleg megtörtént-e aminek meg kellett történnie. Pl. a header-ben a 301 azt jelenti, hogy minden oké, a változtatás állandó, a 302 csak átmeneti állapotot jelent. E számokról bővebben a fenti linken találsz infót.
  • Végül, de nem utolsósorban a példákban szereplő minta domain nevet írd át a sajátodra.

Most nézzük, hogy milyen átírányításokat is lehet csinálni a .htaccess segítségével

1 oldal átirányítása

Ezzel a módszerrel 1db oldalt lehet egy új címre átirányítani.

1
Redirect 301 /regioldal.html http://www.mintadomain.com/ujoldal.html

Egész honlap átirányítása

Ez minden egyes forgalmat a régi honlapodról átirányít az újra.

1
Redirect 301 / http://www.mintadomain.com/

Egész honlap átirányítása almappákkal együtt

Ha a honlapon almappák is vannak, akkor a fenti hatására a domain név cserélődik “csak” ki, a mappa nevek megmaradnak az URL-ben (az új domain-nel együtt).

Tehát ha ilyen linkekből áll a domain tartalma:

domain.hu/
domain.hu/valami
domain.hu/akarmi

Akkor a fenti kód hatására ez lesz az átirányítás eredménye:

ujdomain.hu/
ujdomain.hu/valami
ujdomain.hu/akarmi

Ha azt szeretnéd elérni, hogy a MINDEN forgalom 1db új linkre kerüljön és ne maradjanak meg a mappák sem, akkor ezt a kódot kell használnod:

1
RedirectMatch 301 /(.*) http://domain2.tld

Ez “elkap” minden forgalmat amit a lapra jön és 1db új linkre irányítja azt át (a domain2.tld-re)

Módosultak a fájlkiterjesztések a szerveren

Van olyan, hogy a honlapon a fájlkiterjesztések módosulnak (már persze ha Te módosítod) pl. html-ről php-ra. Az alábbi kód annyit fog csinálni, hogy minden egyes URL-t, ami egy html oldalra mutat, átirányítja az egyébként vele megegyező című php-s oldalra.

1
RedirectMatch 301 (.*)\.html$ http://www.mintadomain.com$1.php

A domain www nélküli címét a www-s címre átirányítani

Nekem pont ez kellett tegnap, a http://tutorial.hu -t szerettem volna a http://www.tutorial.hu -ra átirányítani, mivel így jobb helyezést lehet elérni a keresőkben is, illetve a statisztikák is reálisabb értékeket mutatnak.

1
2
3
4
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^mintadomain.com [NC] 
RewriteRule ^(.*)$ http://www.mintadomain.com/$1 [L,R=301]

A domain www-s címét a www nélkülire átirányítani

A fentit persze fordítva is meg lehet csinálni, nem feltétlen szükséges Neked a www-s címedet használni. Ha ez a célod, akkor használd az alábbi kódot.

1
2
3
4
5
Options +FollowSymLinks 
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mintadomain\.com
RewriteRule (.*) http://mintadomain.com/$1 [R=301,L]

A mintadomain.com/index.php átirányítása a mintadomain.com/ címre

Ha nem szeretnéd, hogy egyes oldalaid a keresőkben duplán szerepeljenek, akkor érdemes ezt a módszert is használni. Hogy miről van szó? Van pl. a www.mintadomain.com/index.php oldalad, ami a keresőkben 1-nek számít. Ugyanakkor van a www.mintadomain.com/ címed is, ami tartalmilag ugyanaz, de a keresőkben külön találatként szerepel. Ezt elkerülendő használd az alábbi kódot.

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

A cikk a webweaver.nu írása alapján készült.

87 HOZZÁSZÓLÁS

  1. Bérelt tárhelyen van 3 külön domainem. Ezek www nélküli címét próbáltam a fenti módszer szerint a www-s címre átirányítani. Nem sok sikerrel.

    Túl sokat nem akarok próbálkozni, mert nem tudom, hogy éppen akkor ki téved az oldalamra.

    Ha van valakinek erre is kész receptje, azt megköszönném.

  2. Szia Tamás,
    ez a “kész recept”, ami fentebb is olvasható. Nem lehet, hogy a szerveren nem lehet .htaccess fájlokat használni?

  3. Sziasztok!

    Akárhogy is próbálom nem akar sikerülni a www-nélküliről a www-re átirányítás, a htaccess file-om ezt tartalmazza:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    #
    #  mod_rewrite in use
    #
     
    RewriteEngine On
     
    #  Uncomment following line if you get 403 Forbidden Error
     
    # Options +FollowSymLinks
     
    #  Uncomment following line if your webserver's URL 
    #  is not directly related to physival file paths.
    #  Update YourMamboDirectory (just / for root)
     
    #RewriteBase /YourMamboDirectory
     
    #
    #  Rules
    #
     
    #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
    RewriteCond %{REQUEST_FILENAME} !.(jpg|jpeg|gif|png|css|js|pl|txt)$
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{HTTP_HOST} ^mintadomain.com [NC] 
    RewriteRule ^(.*)$ http://www.mintadomain.com/$1 [L,R=301]

    Valakinek van ötlete hogy mi a baj?

  4. Szerintem innen hiányzik egy “$” jel:

    1
    
    RewriteRule ^(.*)$ http://www.mintadomain.com/1 [L,R=301]

    Helyesen:

    1
    
    RewriteRule ^(.*)$ http://www.mintadomain.com/$1 [L,R=301]
  5. 1
    2
    3
    4
    5
    6
    
    Options +FollowSymLinks 
    RewriteEngine On
    RewriteBase /
     
    RewriteCond %{HTTP_HOST} ^mintadomain.com [NC] 
    RewriteRule ^(.*)$ http://www.mintadomain.com/$1 [L,R=301]

    Nekem így működik

  6. Az a $-jel ott van,ahogy a példában is..Esetleg van valami más megoldás erre az átirányításra?

  7. Igen, most már ott van, de amikor én néztem akkor nem a kódszínezőbe volt téve, hanem sima szövegként (a WordPress meg valahogy elnyelte a $ jelet :?).

    Winetoo példája tuti, hogy működik, mert egy weblapon én is hasonló kódot használok (csak az enyémnél nincs Options).

  8. Sajna nem működik,akárhogy próbálom.Azt is olvastam valahol,hogy köze lehet az Apache verziójához, hogy működik-e.. na mindegy azért köszi!

  9. Sziasztok!

    És mi a helyzet egy olyan oldallal, ami nem áldomain néven van, hanem a szolgáltató domain nevén egy könytárban? Pl: hxxp://régiszolgáltató.hu/könyvtárnév/ Én ebben a cipőben járok, és az átirányítás végeredménye a hxxp://www.újdomain.hu/könyvtarnev/ -lesz. Olyan megoldás nincs esetleg, ami az összes beérkező kérést a hxxp://www.újdomain.hu -ra irányítja pontosan, függetlenül attól, hogy a kérésben pl: hxxp://régiszolgáltató.hu/könyvtárnév/ vagy hxxp://régiszolgáltató.hu/könyvtárnév/alkönyvtár1/ szerepel?

  10. És hogy tudom az összes www nélküli kérést, www-sre átirányítani? Tehát pölö a hxxp://minta.hu/konyvtar/alkonyvtar/fajl.kit-re a hxxp://www.minta.hu/konyvtar/alkonyvtar/fajl.kit jöjjön be. Az alap verzió működik, tehát a hxxp://minta.hu-ra már hxxp://www.minta.hu jön be, de ennek igazából akkor lenne értelme ha mindent átirányítana.

    Köszöntem

  11. Pontosabban, csak a gyökérben lévőket írányítja át. Mihelyst azonban lejjebb megyek egy könyvtárral, leszarja az egészet úgy ahogy van.

  12. Nekem csak az tűnt fel, hogy többen is írják, hogy .htaccess nem megy Windows szerveren.

    Ez alatt mit értesz? WinXP + Apache alatt biztos megy!

  13. Tamás: sztem az újabb apache-okban (most nem a wamp-os, xampp-os, meg hasonló vackokra gondolok), alapértelmezetten a .htaccess tiltva van, mint ahogy az apache-om is alapból tiltotta…
    Viszont másodpercek alatt lehet engedélyezni, csak meg kell keresni ezt a részt:

    1
    2
    3
    4
    5
    6
    7
    
    <Directory "D:/html/www">
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None
    </Directory>

    És itt átírni az “AllowOverride None”-t “AllowOverride All”-ra és már megy is. Természtesen, ha csak htaccess-es beléptetés kell, akkor elég AuthConfig-ra állítani a None-t

  14. Sziasztok!

    Szeretném a hxxp://honlapom.hu címre érkező kéréseket átirányítani a hxxp://www.honlapom.hu aldomainre. A példának megfelelően járok el. Feltöltöm a szeróra, ott átnevezem .htaccess-re. Megcsinálja. Viszont utána internal server error-t ad vissza.

    Mi lehet a gond? Notepaddal szerkesztettem a txt-t amit feltöltök.

    A szolgáltató állítása szerint nem tudja az átirányítást megcsinálni..technikai okok miatt!? (szerintem meg kamu..de mind1..)

    Köszi

  15. Valószínűleg letiltották a htaccess használatát, ez a technikai akadály. Keress másik tárhelyet szerintem, ha ragaszkodsz a htaccess használatához (máshoz is kellhet a későbbiekben).

  16. Harder!

    Nem ragaszkodom én hozzá:) Milyen más megoldást tudsz javasolni?
    A lap költöztetése nagyon macerás. Rengeteg ügyfél és nagyon nem megoldható a kiesés..csak végső eset…

  17. Kriszitán:
    Esetleg az index.html-ben javascriptel átirányítani nem jó?

    1
    2
    3
    
    <script type="text/javascript">
    window.location = "http://www.tutorial.hu/"
    </script>

    Ezt a head-ba, és kész…

  18. Vizion!

    Nem rossz ötlet…de itt az egyik legfontosabb, hogy a keresők ne érzékeljék duplázott tartalomnak a www aldomaint és a fődomaint.. Szerintem ha JS-t használok akkor már feldolgozza az oldalt a robot!? Vagy nem?! A másik problémám a JS és a PHP szintű átirányítással, hogy rengeteg fájlban kellene ezeket felvinni, nem elég az index.html-ben.

  19. Ha van link az oldalra, akkor azt már valószínűleg indexelték a robotok. Ebben az esetben a robots.txt lehet a megoldás.
    Nem értem a problémát, tul. egy tárhelyen az összes oldalt át kell irányítani egy másik tárhelyre? De nem az index.php a kezdőlapod? Nem elég csak azt átirányítani, és onnan már csak az új tárhelyen lévő oldalakra linkelni?
    Más. Nálam az extra.hu-n a htaccess -t nem engedte módosítani, illetve nem minden volt megengedett. Megoldás lehet a tárhely szolgáltató tech supportja…

  20. Vizion!

    A lényeg, hogy a hxxp://honlapom.hu automatikusan átirányításra kerüljön a hxxp://www.honlapom.hu aldomain-re. Tartalomduplikálás miatt kb 12 helyet bukik az oldalunk a keresésben, mint ugyanez az oldal régi tárhelysozlgáltatónál ahol ezt meg tudták csinálni. A mostani support annyit mondott 1 hónap huzavona után, hogy nem tudják megcsinálni. A költözés meg igen macerás, de már elindítottuk az előkészületeket.

  21. Komolyan ha pl. honlapom.hu -t írok be (de ugyanaz mint www-vel), akkor duplikált tartalomnak látja a google? De ugyanaz nem? Hihetetlen, h csalásnak hiszik…
    Tárhelyet váltani nem akkora csapás, ha van normális mentés -bár némi kiesés biztos lesz a forgalomban, de ezek szerint megérné.

    Érdemes lehet pl. js átirányítást csinálni, ha ez nem megy, akkor szerintem php-ben is van megoldás, ami az aktuális URL-t ellenőrzi, és ha nincs ott a hxxp://www. akkor odabiggyeszti. És ezt szerintem nem is kell minden oldalba beilleszteni, elég lenne egy alap, ami a tartalmat includeolná.
    Így továbbgondolva akár JS is tudná ezt, de azért inkább egy programozót keress, pl. a fórumban. Kíváncsian várom az eredményt.

  22. Ha a duplikált tartalom a gond, akkor azért arra van szerintem megoldás, sorolom hogy mik jutottak eszembe:

    – van egy ún. canonical attribútum, amiről Longhand-nél olvashatsz többet: Új link attribútum: canonical – a duplikált tartalom megelőzésére

    – htaccess nélkül is lehet 301-es redirect-t csinálni, csak nem a fenti megoldás a jó, itt olvasd el főleg a cikk végét: Oldal átirányítása

    – a “Google Webmaster Central”-ban be lehet állítani azt, hogy a google indexelés során melyik domain-t részesítse előnyben (www-set vagy anélkül). Ezt belépés után itt találod meg: Irányítópult > Beállítások > Előnyben részesített domain

  23. Vizion!

    Sajnos ez a helyzet. Duplikáltnak veszi. A költözés meg tényleg macerás. A korábbi oldalunk majdnem ugyanez volt mint ez, mégis a tárhely különbség miatt gyakorlatilag a fél oldal-t át kellett írni, hogy jól jelenjen meg. Nem is beszélve a két szerón futó különböző SQL-ek adta feladatokról…szóval tényleg macera…Tehát ha már programozni kellene, akkor inkább váltanánk és maradna ez az oldal…

  24. Sziasztok!

    Van egy joomla oldalam. A keresőbarát url-ek miatt én már egyszer módosítottam a txt file-t .htaccess-re, most beírtam mellé az itt leírtakat, de nem történt semmi. Azt szeretném megcsinálni, ami itt a tutorial.hu-n is van, ha www nélkül írja be, akkor átirányítja a http://www.tutorial.hu -ra.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    
    ##
    # @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
    # @package Joomla
    # @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
    # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    # Joomla! is Free Software
    ##
     
     
    #####################################################
    #  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
    #
    # The line just below this section: 'Options +FollowSymLinks' may cause problems
    # with some server configurations.  It is required for use of mod_rewrite, but may already
    # be set by your server administrator in a way that dissallows changing it in
    # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
    # beginning of line), reload your site in your browser and test your sef url's.  If they work,
    # it has been set by your server administrator and you do not need it set here.
    #
    #####################################################
     
    ##  Can be commented out if causes errors, see notes above.
    Options +FollowSymLinks
     
    #
    #  mod_rewrite in use
     
    RewriteEngine On
     
    ########## Begin - Rewrite rules to block out some common exploits
    ## If you experience problems on your site block out the operations listed below
    ## This attempts to block the most common type of exploit `attempts` to Joomla!
    #
    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
    # Block out any script trying to base64_encode crap to send via URL
    RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
    # Block out any script that includes a  tag in URL
    RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
    # Send all blocked request to homepage with 403 Forbidden error!
    RewriteRule ^(.*)$ index.php [F,L]
    #
    ########## End - Rewrite rules to block out some common exploits
     
    #  Uncomment following line if your webserver's URL
    #  is not directly related to physical file paths.
    #  Update Your Joomla! Directory (just / for root)
     
    # RewriteBase /
     
     
    ########## Begin - Joomla! core SEF Section
    #
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^/index.php
    RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$  [NC]
    RewriteRule (.*) index.php
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^oldalam.info$ [NC]
    RewriteRule ^(.*)$ http://www.oldalam.info/$1 [L,R=301]
    #
    ########## End - Joomla! core SEF Section

    Van valakinek ötlete?

  25. És, hogyan lehet azt megcsinalni, hogy csak a domain változott, de a tárhely maradt?

    tehát az oldalt korábban a.hu-nak hívták, most pedig b.hu-nak.

    és minden verziót (hxxp://www.a.hu, a.hu, b.h), irányítson a hxxp://www.b.hu-ra?

  26. Sziasztok!

    Én az oldalamon azt szeretném megoldani, hogyha a látogató Magyarországról látogat hozzám, akkor irányítódjon automatikusan át: (eddig nem találtam megoldást)
    ide látogat: hxxp://valami.eu és ha magyar, akkor ide jusson: hxxp://hu.valami.eu egyébként hxxp://en.valami.eu
    (.htaccess használat engedélyezett a szerveren)

  27. Sziasztok!
    Én a www-s domainemet szerettem volna www nélkülire átirányítani. Nem írtam át semmit a .htaccess fájlban, hanem:
    a wordpress admin oldalán, az általános beállításokban, a WordPress címe (URL)-hez, és alatta a Blog címe (URL): -hez is www nélkül adtam meg a webcímemet (http://domain.hu) . Elmentettem, majd újra be kellett lépnem, és működik.
    Ha valaki www-vel írja be, átugrik magától, automatikusan www nélkülire!!!

  28. Sziasztok

    Statikus html oldalnál htaccess-l hogy tudom megoldani, hogy az összes 404-re érkező látogató és oda mutató link átirányítódjon a főoldalra(domain)?

    zsolti

  29. Azt elfelejtettem, hogy így az index.html relatív linkjei a hibás hely alapján lesznek kiegészítve. A legjobb ha az index.html helyett egy másik HTML vagy PHP fájlt adsz meg, ami fix címzéssel irányít át a kezdőoldalra. Vagy esetleg megadhatsz a kezdőoldal headjében egy base taget, amivel fixálhatod a relatív címek helyét. Viszont ha az előbbi megoldást használod mindenképp rakj bele időzítést és egy szöveget, ami utal arra, hogy az illető hibás linken járt.

  30. Hello!

    Nekem egy olyan problémám lenne, hogy a dataglobenál van szerverem, szeretnék rá felrakni egy magento-t, viszont a szerver nem engedélyezi a .htaccess használatát, próbáltam, hogy átirom .txt-re és majd a szerveren visszapötyögöm, de nem sikerült. A telepítője nem indul el. Valakinek valami ötlet???

  31. Sziasztok!

    Nekem – feltehetően – egy nagyon egyszerű problémám van, amit valszínűleg csak én nem tudok megoldani. Ehhez kérek segítséget (asap). Nos, van egy bérelt tárhelyem amelyet a domain1.hu –nak dedikáltam valamikor. Itt minden megkereséskor az index.html indul be automatikusan. Évek óta megy minden rendesen. Most viszont van egy új domainnevem, mondjuk domain2.hu, amit a szolgáltatónál a már meglévő tárhelyemre irányítattam. Minden jó, csakhogy amikor valaki meghívja a domain2.hu-t, mindannyiszor az index.html indul be, aminek a tartalma a domain1.hu-hoz tarozik. Szeretném ezeket elkülöníteni. Vagyis ha valaki az új, domain2.hu-t hívja, egy másik index.html induljon el.
    Mit kell tennem?

    Előre is köszi.
    János

  32. Ha jól értem, akkor 1 tárhelyed van, de 2 domained.

    Szerintem ilyenkor a legcélszerűbb úgy megoldani, hogy a tárhelyen 2 külön mappába mutatnak a domainjeid, így a két külön mappába már tudsz 2 külön index.html-t feltölteni. Pl: domain1_hu/index.html és domain2_hu/index.html. Ehhez a szolgáltatód segítségét kell kérned.
    De ilyenkor lényegében nem átirányításnak titulálják, hanem közös tárhely használatnak és néha ez plussz pénzbe kerül.

    Valószínű, hogy meg lehet oldani .htaccess fájllal is, de az előző megoldás feltehetően a jövőre nézve jobb, mint minden egyes kérést átirányítani egy belső mappába pl. (gondolom nem csak EGYetlen fájlt: az index.html-t szeretnéd átirányítani?)

  33. Kedves Tamás!

    Nagyon köszönöm a gyors reagálást, és a segítséget.
    Jól értetted a problémám, és most a válaszod alapján tudom mit tegyek. So, felveszem a kapcsolatot a szolgáltatóval, és két külön alkönyvtárba (amint azt Te is javasolod) irányíttatom a domaineket.

    Még egyszer köszi!
    Üdv.: János

  34. Folytatva a “2 domain 1 tárhely” problémám!

    Tamás javaslatának megfelelően megkerestem a szolgáltatót, aki az alábbiakat javasolja, amiből én nem sokat értek, vagy ha igen, akkor ez nem az én problémámra ad megoldást. További segítség még elkélne. Köszi előre is!
    Nos, íme az idézett szolgáltatói javaslat:

    “2 domain – 1 tárhely” Segítség

    Alapértelmezésben minden aldomain ([bármi].1gb.hu) a http://www.1gb.hu tartalomra van irányítva, így bármilyen előtagot tartalmazó kérelemre ugyanaz a weboldal jelenik meg. Amennyiben szeretné, hogy más-más előtagra más-más tartalom jelenjen meg, úgy a legegyszerűbb megoldás a .htaccess alkalmazása, mely a különböző aldomainekre érkező kérelmeket egy-egy azonos nevű alkönyvtárba irányítja.

    A következőkben bemutatunk egy példa .htaccess fájlt, ami a budapest.1gb.hu és az info.1gb.hu aldomainekre érkező kérelmekre egyedi tartalmat jelenít meg, míg minden más aldomainre vonatkozó kérelemre a http://www.1gb.hu címen megjelenő tartalmat mutatja. (FIGYELEM! Az átirányítás jobbról történő egyezést vizsgál, így az aldomainek alterei is az alkönyvtárakba irányítódnak, azaz például a http://www.budapest.1gb.hu kérelem is a budapest mappában található tartalmat jeleníti majd meg.)

    A .htaccess fájlt a web/www/html/ mappában kell elhelyezni.

    web/www/html/.htaccess fájl tartalma:

    RewriteEngine On

    # A budapest.1gb.hu kérelmek átírányítása
    RewriteCond %{HTTP_HOST} budapest.1gb.hu$ [NC]
    RewriteCond %{REQUEST_URI} !^/budapest/.*$
    RewriteRule ^(.*)$ /budapest/$1 [L]

    # Az info.1gb.hu kérelmek átírányítása
    RewriteCond %{HTTP_HOST} info.1gb.hu$ [NC]
    RewriteCond %{REQUEST_URI} !^/info/.*$
    RewriteRule ^(.*)$ /info/$1 [L]

    Ha már van .htaccess fájl ebben a mappában, és annak funkciója lényeges, akkor a fenti sorokat illessze a meglévő sorok elé.

    A tartalomduplikálás elkerüléséhez ajánlott a következő .htaccess fájl használata:

    RewriteEngine On

    RewriteCond %{HTTP_HOST} !^www.1gb.hu [NC]
    RewriteRule ^(.*)$ http://www.1gb.hu/$1 [L]

    Amennyiben több domain is ugyanarra a tárterületre van irányítva, akkor a .htaccess fájlban a fődomain nevét kell megadni.

    Természetesen, ha több tartalmat kombinál egy .htaccess fájlban, akkor a RewriteEngine On sornak csak egyszer szabad szerepelnie!

  35. hello nekem SOS segítség kellene:

    sda.hu/nicelife/-ot szeretném nicelife.hu/
    ra átállítani, de nem működött semmi.
    a szereveren már vannak ilyen trükkök mert sda.hu/ adventista.hu/ + www előtaggal lehet elérni az oldalt, most lett az új nicelife.hu amit lefoglaltam.
    A régit szeretném teljesen mellőzni analytics miatt is mert bekavar ez a nicelife/.
    KÖSZI

  36. Üdv!
    Mi történik akkor, ha egy WP-s blogomnál szeretném a régi oldal.hu/bejegyzes-cim.html -t átirányítani, az oldal.hu/bejegyzes-cime/ -re?
    Ezzel a kóddal próbálkoztam:

    1
    
    RedirectMatch 301 (.*).html$ http://www.vizipipablog.com$1/

    Sajnos a gond, hogy amikor a kezdőlapra mennék, akkor az oldal.hu/index/-re irányít át. Miért?
    Mikétn lehetne az index.php-t kivételnek megadni?

  37. a helyes kód a www-sről a nélkülire:
    Options +FollowSymLinks
    RewriteEngine on
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} !^peldadomain\.com
    RewriteRule (.*) http://peldadomain.com/$1 [R=301,L]

    Tapasztalat:
    – mindig a file elejére kell tenni
    – joomlánál az első 2 sor már benne van, ezért közvetlen utána másold be, és értelem szerűen az első 2 sor nélkül

  38. Sziasztok,

    átnéztem a hozzászólásokat és ha jól látom a következő probléma felvetés még nem történt meg.
    Ha van valakinek ötlete vagy forrása örömmel venném a segítséget.

    x.valami.hu oldalakat átakarom irányítani a 404 hibaoldalamra. Vannak már z.valami.hu, zs.valami.hu oldalaim azokat nyilán nem akarom átirányítani, de ha valaki még nem létező aldomaint keres a böngészőjében akkor automatikusan a 404-es oldalamra vándoroljon.

    Köszönettel,
    Capitano

  39. Üdv,

    a következő kérdéssel fordulok hozzátok. Mit tegyek ahhoz, hogy ha valaki a nemlétező.domain.hu-t ír a böngészőjébe akkor az általam megadott html lap jelenjen meg?

    köszönettel,
    capitano

  40. Sziasztok! Nekem az lenne a problámám, hogy a joomla 1.5-ös oldalam sef404-es url-it átszeretném irányítani az új 1.7-es oldalam keresőbarát urljeire. A domain és tárhelyszolgáltató nem változott. Azonban csak annyi történik, hogy mikor beírom a régi url-met kidob a főoldalra, az url cím pedig változatlan marad. Probáltam már a .htaccess-be is redirect 301 /index.php?/regioldal.html http//www.domain.hu/ujoldal átirányítást de semmi sem történik. Az 1.7-es átirányítási komponens sem csinál semmit ezekkel az index.php?-s régi oldalakkal. Hogy tudnám rávenni a .htaccess-t, hogy az index.php? utánni részeket is 404-es hibaoldalnak kezelje, és ne küldjön ilyen esetben a főoldalra? Köszi a segítséget.

  41. Sziasztok!

    A “A mintadomain.com/index.php átirányítása a mintadomain.com/ címre”, részhez szólnék hozzá és kérném a segítségeteket a megoldásában.

    Az átirányítás jól működik, azonban ha például mintadomain.com/admin/index.php -t szeretném elérni, akkor is a mintadomain.com/ címre dob vissza.

    Hogy lehetne megoldani, hogy csak a gyökérkönyvtárra vonatkozzon ez?

    Köszi,
    Gergő

  42. Üdv! Olvasgattam itt és nem láttam olyan példát ami nem .htaccess illetve apache linux serverről szólna pl. windows server, mert van ilyen is elég sok :) Nos mint nálam gondolom másnál is felmerült a probléma ahol mondjuk windows server van amit a hosting cég le is cserél linuxra csak hát nem ingyen :) Ezért a kérdés a következő hogy van e olyan aki megoldást tud HTML és Javascript-en belül WWW nélküli meghívásra tehát: Ezt írom be “sajat.hu” és ez töltődik be “http://www.sajat.hu/” Nos, erre megoldást? Persze PHP alkalmazása nélkül :)

  43. Tisztelt hozzáértők!
    Van két regisztrált domain nevem. (retipalfotoklub.info ; amdazerg.info)
    Mindkettőhöz van regisztrált tárhelyem is. Ami a lényeg, hogy a Tarhelyem.Net tróger csapata egy támadás után olyan tárhelyet biztosított, ahol nincs telepítve a GD, vagy a GD2 képfeldolgozó. Így regisztráltam egy újabb tárhelyet és azt a “amdazerg.info” domainre reggeltem. Nos a másik domain nevem egy fotósklub oldala lenne, de nem tudok annyit költeni, hogy még egy tárhelyet kifizessek. Így azt tettem, hogy aldomainnek felvettem az oldalamra a “retipalfotoklub.info” domaint is. Azonban mikor a böngészőbe beírom az említett domain nevet így jelenik meg az oldal: “retipalfotoklub.amdazerg.info”
    Nem lehet valahogy kiszedni onnan az “amdazerg” részt?

  44. Szia János,
    ahogy írtad is, aldomaint -vettél fel, ebből nem lehet kiszedni a “amdazerg”. Kénytelen vagy domain-t felvenni a domaint, talán a vásárolt szolgáltatás keretei között erre van lehetőség (hiszen ha tárhelyet vettél, a legtöbb szolgáltató nem limitálja ma már a rajta lévő domain-ek számát de legalábbis 2 domain nem kéne, hogy gondot okozzon).

  45. Ha nagyon nem megy és van lehetőség váltani (tárhelyszolgáltatást, akár a későbbiekben is), írj és leírok a domain regisztráció és a tárhely választás illetve ezek kezelésének a legjobb módját, hogy máskor ne fuss bele ilyen gondba (és más se természetesen).

  46. Bocsi, közben meglett a megoldás:

    1
    2
    3
    
    RewriteCond %{HTTP_HOST} ^xn--pnclszekrnyszllts-6obmd7mg3h.hu$ [OR]
    RewriteCond %{HTTP_HOST} ^www.xn--pnclszekrnyszllts-6obmd7mg3h.hu$
    RewriteRule ^/?$ "http://www.pancelszekrenyszallitas.hu/" [R=301,L]
  47. Most láttam a kérdésedet és épp elkezdtem keresni a választ, de ezek szerint megoldódott. Köszi, hogy beírtad ide is a megoldást, hasznos!

  48. Üdv nektek!

    Mit tehetek, vagy milyen kódokat kell beillesztenem akkor ha használok ssl-t te két domienem van?
    Költségkímélés szempontjából csak a http://www.domainem.hu az amire vettem egy domain ssl-t.
    Tehát:
    azt már megoldottam, hogy a damainem.hu az http://www.domainem.hu legyen, és hogy a domainem.com az http://www.domainem.com legyen. Ez a kettő egyébként egy lap.

    De mit tegyek, hogy a http://www.domainem.com az http://www.domainem.hu legyen?
    Köszi előre is.

  49. Sziasztok!

    Érdekes problémám van. A honlapom kb. 1 hete rakoncátlankodik. Mindegy mit művelek az oldalon, nagyjából 20mp után tovább juttatt különböző hirdető oldalakra anélkül, hogy tudtommal bármi történt volna. A szolgáltató mossa kezeit, esélyes volt a htaccess-ben valami módosulás, de nem találtam benne semmi gyanúsat. Ráadásul az oldal több mint 1 éve sikeresen működött. Van-e valakinek valami tippje? Köszönöm!

  50. Keress rá arra az URL címre a neten, amire átirányít a honlap, jó eséllyel lesz róla szó már valahol és azt is leírják, hogy lehet kitakarítani a lapról.

  51. _http://xn--szitanyoms-04a.net-ről _http://xn--szitanyoms-04a.hu/
    a szolgáltató elvégezte az átirányítást. Igy: redirect 301 / _http://xn--szitanyoms-04a.hu/. Az a kérdésem, hogy ezzel a módszerrel az eddig elért Google helyezések megmaradnak vagy van más módszer is?
    Előre is köszönöm.

  52. Sziasztok!

    Azt megtudja valaki mondani, hogyha van egy boltom.hu domainem, ami sima joomla bemutatkozó weblapként működik, és ezt megszüntetem, mert helyette bérelnék egy webáruházat, ami ugyanezen domainról működik, akkor kell tegyek valamit, hogy a sima weblapon elért keresőhelyem megmaradjon? A weblap, és a áruház ugyanazzal foglalkozik, és a termékek is ugyanazok…

    Válaszokat előre is köszönöm!

  53. Ha változik 1-1 oldal (ami már jó helyezést ért el valamilyen kulcsszóra) elérhetősége, akkor a régi URL-t át kell irányítani az újra 301-es kóddal. Erre vonatkozóan van leírás a lapon, a htaccess szóra keress rá (több cikkben is szó esett erről).

    Így a régi URL-t az újra irányítva a Google indexben is cserélődni fognak a hivatkozások és megmaradnak a jó helyezéseid (ha amúgy az új oldal egyéb okok miatt nem fog rosszabbul teljesíteni keresőoptimalizáltság terén).

  54. Szétnéztem ezzel kapcsolatos írásokban, és biztos találok megoldást.

    Arra viszont nem találtam megoldást, hogy mondjuk van-e arra technikai lehetőség, hogy az összes url-emet ami a mostani lapon van, azt egy táblázatba szedjem össze, és mindet az új lap (webáruház) kezdőlapjára irányítsam. A kérdés az, hogy a mostani url-eket kitudom-e menteni táblázatba valahogyan, vagy egyesével kell ctrl+c, ctrl+v…
    És ha már mind az új lap kezdőlapjára mutat, akkor az google barátunk részéről negatív vagy pozitív dolog? És mondjuk 1 év múlva ki lehet venni a .htaccess -ből ezeket az átirányításokat?

  55. A mailcímedben lévő domainről van szó? Mert az kb 160-170 oldal, ha kell átdobom a címedre egy xls-ben őket.

    Később ki lehet venni az átirányításokat persze, csak azt kell megnézni hogy pl. volt-e linképítés ami a régi URL-ekre mutattak, mert akkor nem … vagy legalábbis nem célszerű, hiszen úgy bukni fogod a linkek erejét.

  56. Nem erre lesz szükséged. Ha az a cél, hogy minden egyes oldalt egyetlen új címre irányíts, akkor mindössze 1 sor elég a htaccess fájlba:

    Redirect 301 / http://www.mintadomain.com/

    Viszont az ideális az lenne ha a régi URL-eket az új oldalakra tudod egyből irányítani. Pl.

    Redirect 301 /regioldal1.html http://www.domain.tld/ujoldalneve.html
    Redirect 301 /ezisregioldal2.html http://www.domain.tld/temaneve/

    Ui.: A honlapot sajnos nem tudom elérni, nézz rá hogy biztos megy-e (többször is ellenőriztem a mai napon).

  57. Az ideális átiránytást nem tudom megoldani, mert a webáruházban kialakul az új szerkezet, addigra a google már lehet, hogy elfelejti a linkeket…

    Az álltalad írt első megoldás az pontosan mit csinál?
    (Nem gond nálla hogy a régi, és az új domain is ugyanaz?)

    Nállam működik az oldalal tökéletesen… Nem hiszem hogy itt lenne a probléma, de azért privi e-mailben átküldöm a webcímet.

  58. Az első kód annyit csinál, hogy a weboldalra érkező összes látogatót (bármilyen aloldalra is érkezett) átirányítja az új domain címre (nyitóoldalra).

    Ha a régi domain és az új teljesen ugyanaz, akkor ennek persze nincs sok értelme. Akkor van az hogy a régi konkrét URL-eket az új URL-ekre irányítod át egyesével.

    Az oldal itthon már megy, lehet hogy a céges neten nem ment vagy megfogta a proxy.

  59. Enézést ha banálisnak tűnik a kérdésem,teljesen “autodidakta” módon szekesztgetem a weblapunkat.
    MINDEN tartalamat szeretnék átirányítani a http://www.fagarazsgyar.hu-ról a http://www.fagarazs.hu ra (ugyanannál a tárhelyszolgáltatónál), ha jól értem, akkor a head szekcióba (vagy pontosan hová?) ezt a kódot kell bemásolnom:
    RedirectMatch 301 /(.*) http://fagarazs.hu
    És ennyi? Minden tartalom az új domain alatt fog megjelenni?És a Google helyezéseink sem fognak visszaesni?
    Előre is nagyon köszönöm a választ, üdvözlettel: A. Györgyi

  60. A domain alatt ha jól látom, akkor 7 indexelt oldal van, szóval ezeket akár egyesével is fel lehetne venni a htaccess fájlba. A helyezések csak akkor nem fognak visszaesni, ha a régi URL-ek az új címen is megfelelő oldalra vannak irányítva.

    Tehát a régi http://www.fagarazsgyar.hu/pergola.html URL-t az új domain alatt is érdemes a pergola aloldalra irányítani (pl. http://www.fagarazs.hu/pergola.html)

    kóddal:

    Redirect 301 http://www.fagarazsgyar.hu/pergola.html http://www.fagarazs.hu/pergola.html

    Ennyi oldalnál ez a legegyszerűbb szerintem.

  61. Szia Harder!

    A segitségedre lenne szükségem egy 302 átirányitásban. Ez lenne a cél:
    http://www.domiain.hu/forum/oldal_1.html => http://www.domain.hu/forum
    http://www.domiain.hu/forum/oldal_2.html => http://www.domain.hu/forum
    http://www.domiain.hu/forum/oldal_3.html => http://www.domain.hu/forum
    .
    .
    .
    Tehát az összes fórum könyvtárban szereplő html fájlt, de csak a html kiterjesztésü fájlokat, átirányitani a fórum könyvtárra.

    Előre is köszi!

  62. Szia!

    Ennek mennie kell ha bemásolod a fórum root könyvtárába, kipróbáltam az előbb és működik:

    RewriteEngine on
    RedirectMatch 301 (.*).html$ http://chatlakozz.hu/forum/index.php

    Persze a chatlakozz.hu/forum/index.php cím benne szabadon módosítható.

  63. Sziasztok. Mi van olyankor, ha a google webmester tools az indexeleskor ezt irja ki: http://www.honlapcim.hu/honlapcim.hu atirablnyitva. Ez jelethet problemat? Akar a keresooptimalizalas, akar a honlap elerese eseten? Egyszer mar kerult honlapom atiranyitasi korbe es felek, hogy ez megint ezt fogja okozni.

  64. Szia! Ez így szerintem nem lesz jó, próbáld meg kideríteni hogy mi okozza a hibát. Olyasminek tűnik mint ha valahol lemaradt volna a hivatkozásból a http:// rész és csak az enélküli domaint tartalmazná az URL.

  65. Amikor pl. A webmestertoolsban regisztraltam az oldalt, akkor pl..volt egy olyan “feladat” amit kiirt a google, hogy adjam meg, www elotaggal, vagy anelkul van-e az elsodleges domain.

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét