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]