Redirectionare 301

Redirectionarea 301 este cea mai eficienta si SEF metoda pentru redirectionarea paginilor. Nu este greu de folosit si prin asta poti pastra ranking-urile pentru pagina respectiva. Daca ai de schimbat anumite pagini sau de redirectionat, 301 este calea cea mai buna.

Redirectionare 301 se traduce prin “mutat definitiv”.

Exista mai multe metode pentru redirectionarea 301, in functie de platforma folosita ca si server sau limbaj de programare.

Redirectionare 301 .htaccess

redirect 301 /adresaveche/PaginaVeche.htm http://www.domeniulTau.ro/PaginaNoua.htm

Aceasta metoda se foloseste la redirectionarea paginilor statice.

RewriteEngine on
RewriteBase /
RewriteRule (.*).htm$ /$1.php

Prin  aceasta redirectionam toate paginile care se termina in htm inspre aceeasi pagina dar in php. De exemplu domeniu.ro/pagina.htm va fi trimita la acelasi domeniu dar pagina.php

RewriteEngine on
RewriteCond %{QUERY_STRING} ^id=11$
RewriteRule ^/page.php$ http://www.domeniu.ro/paginaNoua.htm? [L,R=301]

Prin aceasta metoda redirectionam orice adresa care se termina in id=11 si care incepe cu domeniu.ro/page.php inspre pagina paginaNoua.htm
Cat este asta de util? Se poate sa ai o pagina cu produse, si fiecare are un id la sfarsit… deci se termina in id=11… (sau alt numar)

Se poate folosi urmatoarea metoda

RewriteCond %{QUERY_STRING} ^option=com_search&tmpl=raw&type=json&ordering=&searchphrase=all&Itemid=([0-9][0-9][0-9])$
RewriteRule ^index\.php$ http://www.domeniu.ro? [R=301,L]

In metoda de mai sus (nu uitati de RewriteEngine on care nu e prezentat de fiecare data) se redirectioneaza urmatoarea pagina indexata de google dintr-un site joomla, inspre radacina site-ului (domeniu.ro/index.php?option=com_search&tmpl=raw&type=json&ordering=&searchphrase=all&Itemid=([0-9][0-9][0-9])  ).

([0-9][0-9][0-9]) este o expresie regulata. Ea poate fi prezentata si sub forma

([0-9]{1,3})  ceea ce spune ca pagina se va termina intre 1-3 cifre, spre deosebire de exemplul de mai sus care functioneaza doar cu 3 cifre.

Exemplele pot continua, exista multe variante si posibilitati… prea multe sa le mentionez intr-un singur post.

Daca nu va descurcati, va stau la dispozitie pe pagina de contact.

Alte redirectionari sunt

Redirectionare IIS

Daca rulezi IIS (server pe windows) in internet services manager, click dreapta pe fisierul sau folderul pe care doresti sa-l redirectionezi
Alege butonul radio intitulat “a redirection to a URL”.
Introdu pagina inspre care vrei sa redirectionezi
BifeziCheck “The exact url entered above” si “A permanent redirection for this resource”
Click ‘Apply’

Gata

Redirectionare ColdFusion

<.cfheader statuscode=”301″ statustext=”Moved permanently”>
<.cfheader name=”Location” value=”http://www.adresa-noua.ro”>

Redirectionare PHP

<?
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.adresa-noua.ro” );
?>

Redirectionare ASP

<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”,”http://www.adresa-noua.ro/”
%>

Redirectionare ASP .NET

<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(“Location”,”http://www.adresa-noua.ro”);
}
</script>

Redirectionare JSP (Java)

<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.adresa-noua.ro/” );
response.setHeader( “Connection”, “close” );
%>

Redirectionare CGI PERL

$q = new CGI;
print $q->redirect(“http://www.adresa-noua.ro/”);

Redirectionare Ruby on Rails

def old_action
headers[“Status”] = “301 Moved Permanently”
redirect_to “http://www.new-url.com/”
end

Redirectionare de pe un domeniu inspre un domeniu nou (redictionare htaccess)

Daca ti-ai mutat site-ul pe un domeniu nou, in .htaccess trebuie sa plasezi codul de mai jos. Acesta va face toate redirectionarile din toate directoarele si toate fisierele inspre noul site.
( Fisierul .htaccess este in radacina site-ului – unde este si fisierul index. )

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.domeniunou.ro/$1 [R=301,L]

Incluieste desigur www.domeniunou.ro cu domeniul tau.

In plus daca poti, anunta-i pe cei care au linkuri inspre site-ul tau sa modifice si ei.

Tineti minte ca redirectionarea htaccess functioneaza doar in Linux, care ruleaza serverul Apache si are modulul Mod-Rewrite activat.

Published by

Cristian Raț

Lucrez ca si dezvoltator aplicatii web de mai bine de 10 ani. Sunt Senior PHP developer la o companie din Londra. Anterior am lucrat in diverse agentii digitale din Londra sau Romania, unde am avut propria companie. In general folosesc WordPress la proiectele freelance sau Symfony framework la jobul de zi cu zi.

11 thoughts on “Redirectionare 301”

    1. Daca ai facut redirectionare 301, nu ar trebui sa se intample asta. Dar nebanuite sunt caile google…

  1. Am facut si eu o redirectionare 301 de pe un domeniu.eu pe domeniu.ro, deasemenea am copiat toate fisierele de pe .eu pe .ro, dar acum ma intreb si va intreb daca vreau sa adaug content il adaug si pe .eu si pe .ro sau numai pe .ro pentru ca acesta este returnat la cautari?

    1. Salut. Din moment ce doar noul domeniul il folosesti, nu mai e nevoie sa il adaugi si pe cel vechi. Chiar ar fi indicat sa nu faci asta.

  2. Buna ziua,
    am si eu nevoie de un sfat, de un mic ajutor !
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www.numesite [NC]
    RewriteRule ^(.*)$ http://numesite/$1 [L,R=301]

    ErrorDocument 400 /erori/badrequest.html
    ErrorDocument 401 /erori/auhreqd.html
    ErrorDocument 403 /erori/forbid.html
    ErrorDocument 404 /erori/notfound.html
    ErrorDocument 500 /erori/serverr.html

    RewriteCond %{THE_REQUEST} ^.*\/index\.html?
    RewriteRule ^(.*)index\.html?$ http://numesite/$1 [R=301,L]

    Asta am facut eu.
    am vrut sa redirectionez de la “www.” la fara www
    si am mai vrut ca numesite/index.html sa fie sub forma numesite.ro
    am facut bine odata redirectionarile astea?
    de ce intreb?
    cind intru pe http://numesite.ro se vede site-ul insa cind dau sa vad in cache imi spune ca pagina nu exista
    la site:http://numesite.ro imi apare
    http://numesite.ro
    si apoi
    http://www.numesite.ro/pagina
    si tot asa..
    Oare nu am facut ceva bine sau inca nu am fost indexat de google?Redirectionare asta am facut-o nu stiu exact, dar cu citeva zile in urma, nu luni!
    dupa ce am facut redirectionarea, am mai incarcat odata in root-ul site-lui si un sitemap!

    1. pai tocmai asta e ideea, ca trebuie sa faci redirectionare, deci da
      totusi fii atent daca mai ai ceva in site.ex, daca ai redirectionat tot, totul merge in directorul respectiv

Leave a Reply

Your email address will not be published. Required fields are marked *