Redirectare fisiere in .htaccess

Daca trebuie sa schimbati site-ul de pe un domeniu pe altul sau dintr-un subdirector in root sau viceversa si doriti sa modificati .htaccess pentru ca site-ul sa nu dea erori dupa ce ati facut schimarea, mai jos gasiti cateva rezolvari pe care le-am gasit si eu atunci cand m-am confruntat cu situatiile respective.

1. Redirectare domeniu din www.example.com in www.example.com/store

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteRule ^$ store [L]

Daca doriti sa se vada noul link in browser, modificati ultima linie cu
RewriteRule ^$ /store [L,R=301]

O alta varianta:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/store/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /store/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ store/index.php [L]

2. Daca treceti de la un site static catre un site pe WordPress si doriti ca toate fisierele vechi cu extensia .html sa redirectioneze catre root:

RewriteEngine On
# check that the request isn't for a legitimate existing resource
RewriteCond %{REQUEST_FILENAME} !-f
# redirect the .html request to the site root
RewriteRule ^(.*)\.html$ / [L,R=301]

Acest cod trebuie inserat inaintea codului pe care il introduce WordPress in .htaccess

3. Redirectare http://www.example.com/some_page.html catre http://www.example.com/some_page/

RewriteRule (.+)\.html$ /$1/ [L,R]

pentru viceversa http://www.example.com/some_page/ catre http://www.example.com/some_page.html

RewriteRule (.+)/$ /$1.html [L,R]

Daca redirectarea e permanenta si astfel doriti sa informati motoarele de cautare ca noua adresa e cea buna, folositi R=301 in loc de R. Daca este doar o redirectare interna a site-ului, scoateti parametrul R.

4. Redirectare http://www.domeniulvechi.com catre http://www.domeniulnou.ro

Codul de mai jos trebuie pus in fisierul .htaccess pe www.domeniulvechi.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domeniulvechi\.com [NC] RewriteRule ^(.*)$ http://www.domeniulnou.ro/$1 [R=301,NC,L]

Lasă un răspuns

Denumire *
Email *
Pagină web