Exista foarte multe probleme in Internet, legate de redirectionari in .htaccess. O utilizare corecta a redirectionarii unui articol, pagina sau site din .htaccess, ne scuteste de multe batai de cap. Important este sa stii cum sa faci aceste lucruri. Daca nu stiti exact ce face o comanda data in .htaccess, ar fi mai bine sa nu o utilizati, in caz contrar riscati sa pierdeti foarte mult.

Am sa va dau cateva exemple utilizate si de mine si de care sunt sigur ca functioneaza. Aceste exemple le veti folosi in cazul in care aveti nevoie, sau le puteti combina, depinde doar de inventivitatea Dumneavoastra.

Redirect .htaccess

Redirectionarea de la o pagina .html, la una .php (voi folosi ca exemplu – www.pagina-ta.com)

RedirectMatch 301 (.*).html$ http://www.pagina-ta.com$1.php


Redirect de la www, la non www.

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^pagina-ta.com

RewriteRule (.*) http://www.pagina-ta.com/$1 [R=301,L]


De la non www, la www

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^pagina-ta.com [NC]

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


Mutarea unei singure pagina (acest lucru este util cand schimbati sau scurtati link-ul)

Redirect 301 /pagina-ta.html http://www.pagina-ta.com/noua-pagina.html


Mutati intreg site-ul

Redirect 301 / http://www.pagina-ta.com/


Pentru eventualele probleme, va rugam sa lasati un mesaj

Alte articole SEO interesante:

Articol scris de: SEO Romania in data de:

Redirect .htaccess – redirectionare site

Exista foarte multe probleme in Internet, legate de redirectionari in .htaccess. O utilizare corecta a redirectionarii unui articol, pagina sau site din .htaccess, ne scuteste de multe batai de cap. Important este sa stii cum sa faci aceste lucruri. Daca nu stiti exact ce face o comanda data in .htaccess, ar fi mai bine sa […]


Comentarii.

  1. albsz

    septembrie 26, 2011 (20:38)

    Am o nelamurire
    .htaccess se folosesc redirectionarile, dupa caz:
    exemplu:
    ErrorDocument 404 /erori/404.html
    ErrorDocument 500 /erori/500.html
    etc.
    intreb:
    daca eu am deja create paginile 404.html sau 500.html in root-ul site-lui sau in folderul erori de ce trebuie sa mai folosesc in .htaccess directionarile respective? cu ce ma ajuta sau cum e mai bine sa procedez?

    alt caz:

    exista un site care a fost in php facut si avea pagimi sub forma de :index.php?idMeniu=xyz ( xyz cifre), pagina-01.php.. si tot asa
    am refacut site-ul in html:
    cum pot sa fac ca in htacces sa redirectionez acele pagini vechi (care inca mai sunt indexate de google) catre noul site cu pagini html?
    (cred ca regula ce s-ar aplica ar fi valabila si pentru paginile.php simple sub forma de pagina.php)
    aici as a mai avea inca o intrebare: daca acele pagini php se aflau intr-un folder? adica www:site.ro/folder
    pentru ca vad in webmaster tools ca imi arata pagini negasite sub forma:http://www:site.ro/folder/pagina.php desi eu stiam ca aceea pagina.php in root-ul site-lui..
    Nu stiu daca am reusit sa descriu cum trebuie exact ceea ce vreau.
    In speranta unui ajutor, va multumesc anticipat !

  2. SEO Expert

    septembrie 27, 2011 (03:19)

    .htaccess, este un fisier special in care se pot aduce imbunatatiri site-ului, sau modificari, respectiv redirectionari, de la o pagina veche la o pagina noua. Redirectionarile se pot face din diverse motive, fie un link nu este SEO Friendly, fie nu i-mi place cum arata si doresc sa mai adaug sau sa scot text din link-ul respectiv.

    La prima intrebare cu 404.html sau 500.html, este si in functie de server sau CMS-ul folosit. Indicat ar fi sa nu fie afisate aceste pagini, pe cat posibil sa evitam aceste erori. 404.html, este o pagina speciala care se afiseaza automat cand un link nu mai exista, este obligatorie in site si 500.html, sunt erorile de server sau coduri gresite in .htaccess. Daca scriptul folosit nu face trimitere catre o pagina 404.html, va trebui sa faci acest lucru manual, adica sa pui codul scris de tine mai sus.

    A doua intrebare a ta este legata de redirectionarile link-urilor vechi cu cele noi si acest lucru este obligatoriu tocmai pentru a evita eroarea 404. Daca link-ul meu vechi, a fost de genul „www.site.ro/index?23-403.html” si doresc un link SEO Friendly, va trebui sa fac un redirect 301. In acest mod, link-ul vechi care deja este indexat in Google, sau alte motoare, va fi redirectionat catre link-ul nou, evitandu-se eroarea 404. Cum procedam! In .htaccess, vom pune urmatorul cod:
    Redirect 301 /index?23-403.html /http://www.site.ro/noul-link.html

    Daca observi, dupa Redirect 301, este doar link-ul care apare dupa numele domeniului si apoi link-ul nou cu numele de domeniu inclus, calea finala. Redirectarea 301, este o redirectare permanenta. Se pot redirecta si folderele daca este necesar.

    • albsz

      septembrie 27, 2011 (05:02)

      multumesc mult de rapuns..
      raspunsul dumneavoastra m-a lamurit bine, cel putin la prima problema.
      la punctul 2..era vorba de pagini .php insa banuiesc ca doar trebuie sa schimb extensia din html in php si este ok, insa eu vtreau sa redirectionez toate paginile vechi (nu numai pagina de index) cu extensia.php in spre site-ul nou.

  3. SEO Expert

    septembrie 27, 2011 (05:15)

    Paginile trebuiesc redirectionate pe rand, adica una cate una, munca de chinez insa, nu prea ai de ales. Ar trebui sa redirectionezi numai paginile importante si dupa un timp, cand vor fi indexate in Google, cele noi, vei putea scoate redirectul din .htaccess.
    Eu prefer link-urile fara extensie .html sau .php. Poti folosi cateva cod-uri in .htaccess pentru acest lucru:

    #Prima varianta
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_URI} !(.[^./]+)$
    RewriteCond %{REQUEST_fileNAME} !-d
    RewriteCond %{REQUEST_fileNAME} !-f
    RewriteRule (.*) /$1.html [L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /([^.]+).html HTTP
    RewriteRule ^([^.]+).html$ http://www.domeniu.ro/$1 [R=301,L]

    # Alta varianta
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_fileNAME} !-d
    RewriteCond %{REQUEST_fileNAME} !-f
    RewriteRule ^(([^/]+/)*[^./]+)$ /$1.html [L]

    #Inca o varianta
    RewriteEngine On
    RewriteRule (.*).html $1 [R=301,L]

    Aceste cod-uri sunt acceptate si in functie de server, se pot scrie optiuni si in php.ini. Daca in /root, nu exista php.ini, poti crea un fisier text la care sa adaugi diverse cod-uri suportate de serverul tau.

  4. PM

    octombrie 27, 2011 (09:47)

    Buna

    Linkurile de pe un site de-al meu arata asa:
    nume_site.ro/?id2=0000
    si as vrea sa arate asa:
    nume_site.ro/titlu_pagina.html

    Poti sa imi spui ce ar trebui sa scriu in .htaccess pentru a le afisa cu titlu.html?

    Multumesc

Parerea Dvs.?.

 © 2008-2016  Computerscom SEO Romania