Am avut o mica problema cu un forum, pe care a trebuit sa il mut pe un alt site. Am gasit rezolvarea pana ala urma, asa ca, pentru cei care se vor lovi de aceasta problema, voi posta aici rezolvarea.
Sa luam ca exemplu, un site web, care este la adresa siteul-meu.com
Acest site, are si un forum, care este vizibil la adresa siteul-meu.com/forum/
Ei bine, am creeat un subdomeniu nou pentru forum, respectiv forum.siteul-meu.com si vreau sa mut forumul de la vechea adresa siteul-meu.com/forum/ la noua adresa forum.siteul-meu.com
Paginile vechiului forum bineinteles ca sunt indexate de catre motoarele de cautare, sub forma: siteul-meu.com/forum/pagina-subiect.html
Eu vrea ca orice pagina din forum, care este sub forma siteul-meu.com/forum/pagina-subiect.html sa duca la noua adresa a forumului, care este sub forma: forum.siteul-meu.com/pagina-subiect.html
Pentru asta, va trebui sa adaugam cateva reguli de URL rewrite, in fisierul .htacces al vechiului site. Adica, in fisierul .htaccess de pe pagina siteul-meu.com, adaugam urmatoarele reguli:
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^siteul-meu.com/ [NC]
RewriteRule ^(.*)$ http ://siteul-meu.com/$1 [L,R=301]
RedirectMatch 301 ^/forum/(.*)$ http ://forum.siteul-meu.com/$1
Acum, orice pagina veche de forma siteul-meu.com/forum/pagina-subiect.html va fi automat redirectata catre noua adresa web, respectiv forum.siteul-meu.com/pagina-subiect.html
ATENTIE! Daca fisierul vostru .htacces contine deja reguli, verificati sa nu cumva sa existe deja trecute urmatoarele coduri:
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteBase /
Daca acestea deja exista, atunci adaugati doar atat:
RewriteCond %{HTTP_HOST} ^siteul-meu.com/ [NC]
RewriteRule ^(.*)$ http ://siteul-meu.com/$1 [L,R=301]
RedirectMatch 301 ^/forum/(.*)$ http ://forum.siteul-meu.com/$1
Deasemenea, puteti face astfel incat, toate URL-urile sa fie cu http ori cu www ... Pentru ca toate URL-urile sa fie cu http, faceti astfel:
RewriteCond %{HTTP_HOST} ^siteul-meu.com/ [NC]
RewriteRule ^(.*)$ http ://siteul-meu.com/$1 [L,R=301]
RedirectMatch 301 ^/forum/(.*)$ http ://forum.siteul-meu.com/$1
Daca vreti ca toate URL-urile sa fie cu www, faceti astfel:
RewriteCond %{HTTP_HOST} ^siteul-meu.com/ [NC]
RewriteRule ^(.*)$ http ://www. siteul-meu.com/$1 [L,R=301]
RedirectMatch 301 ^/forum/(.*)$ http ://forum.siteul-meu.com/$1
Sper sa va fie de folos. Succes!
IMPORTANT: Am fost nevoit sa pun spatiu intre http si :// deoarece nu-mi afisa corect codul aici pe forum, voi va trebui sa eliminati spatile puse in plus intre http si :// si intre www. si siteul-meu.com
Daca nu va descurcati, puteti lua codul corect/complet, de aici sau de aici.




