Redirect www la non-www si invers

Motoarele de cautare considera dicit.ro si www.dicit.ro doua domenii diferite. Ca si rezultat, daca ai linkuri dinspre alte locatii unele cu www si altele fara, iti imparti popularitatea site-ului in doua.

Solutia

Folosesti redirectionarea 301 pentru a trimite cererile catre versiunea  “non-www” catre cea cu www. Acest lucru inseamna redirectionare permanenta.
Cum activezi redirectionarea 301

Trebuie sa-i “spui” serverului sa redirectioneze traficul automat (fara ca utilizatorul sa-si dea seama). Pentru a face asta trebuie mai intai sa stii pe ce fel de server este gazduit site-ul tau.

Exista cam doua categorii principale de servere: Microsoft si Apache (Linux/Unix). Daca stii pe ce server esti (si este Linux/Unix pe care ruleaza serverul Apache) atunci poti sa continui. Daca nu, detalii intr-un articol viitor.

1. Optional – Asigura-te ca modulul Apache Rewrite este activ; fara acesta, redirectionarea nu va functiona. De obicei cam toate hosturile au acesta activ. De aceea consider acest pas optional. In cazul in care nu e activ, contacteaza-ti hostul si spune-i ce ai nevoie.

2. Descarca sau creeaza fisiereul .htaccess (daca nu exista).

3. Fa-ti o copie de rezerva ( in cazul in care ceva nu merge bine)

4. In fisierul original .htaccess (preferabil in notepad, nu cu un editor mai  avansat gen Word sau Wordpad) adauga urmatoarele linii. (Inlocuieste exemplu.ro cu domeniul tau desigur)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^exemplu\.ro
RewriteRule (.*) http://www.exemplu.ro/$1 [R=301,L]

Nota: (Punctele in RewriteCond sunt precedate de backslash. RewriteEngine On, daca exista deja in fisierul tau .htaccess nu e nevoie sa-l mai pui inca o data.)

6. Incarca fisierul inapoi pe server

7. Testeaza accesand versiunea fara www a domeniului tau. Daca totul functioneaza serverul te va trimite automat pe www.exemplu.ro

(Se vede in adresa din browserul tau)

Daca primesti o eroare, pune inapoi versiunea de rezerva. Asigura-te ca nu ai facut greseli in htaccess (legate de instructiunile de mai sus, ca totul e in regula, iar daca stii ca e ok, contacteaza-ti hostul pentru ajutor)

WWW catre non-www

Personal, unele domenii consider ca arata mai bine fara www.

Cum e cazul domeniului meu, imi place mai mult fara www.

Asa ca in acest caz serverul stie ca sa trimita cererile www.dicit.ro la dicit.ro

Liniile urmatoare din .htaccess fac acest lucru in Apache.

RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^netstuff\.ro
RewriteRule (.*) http://dicit.ro/$1 [R=301,L]

Dessigur sunt precedate de RewriteEngine On.

Succes!

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.

Leave a Reply

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