apache rewrite to www

ideea e ca pe orice domeniu se poate intra in doua moduri : domeniu.tld si www.domeniu.tld ( iar daca nu se poate intra prin una din aceste modalitati – aceasta reprezinta anomalii ). Dar, totusi, se doreste raspandirea pe internet doar a unui link dintre acestea 2: doar domeniu.tld sau doar www.domeniu.tld, pentru ca ele pot fi vazute de motoarele de cautare ca 2 domenii diferite.

Acum reprezint o modalitate de a lasa ambele domenii valide si facem doar astfel ca domeniu.tld sa redirectioneze automat catre www.domeniu.tld .

Acest lucru este posibil cu modulul rewrite din apache2. Si pentru asta modificam fisierul .htaccess cu urmatorul continut:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domeniu\.tld$ [NC]
RewriteRule ^(.*)$ http://www.domeniu.tld/$1 [R=301,L]

acum orice accesare a url-ului domeniu.tld va returna un cod de status : 301 = Moved Permanently ( A status code of 301 tells a client that the resource they asked for has permanently moved to a new location. The response should also include this location. It tells the client to use the new URL the next time it wants to fetch the same resource. ) si va redirectiona catre www.domeniu.tld

[ubuntu] apache enable virtual hosts

fisierele de configurare se afla in :

/etc/apache2/

fisierele de configurare a domeniilor sunt in

/etc/apache2/sites-available

iar, apache2 le activeaza pe alea care sunt in directoriu :

/etc/apache2/sites-enabled
husanu@srv1:/etc/apache2/sites-enabled$ ls -l
total 0
lrwxrwxrwx 1 root root 39 2010-01-09 22:45 a.com.conf -> /etc/apache2/sites-available/a.com.conf

si continutul fisierului de configurare a.com.conf

<VirtualHost *:80>
    ServerName a.com
    ServerAdmin webmaster@puk.ro
    DocumentRoot /var/www/a.com
    ErrorLog /var/log/apache2/a.com.log
    CustomLog /var/log/apache2/a.com.access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerName a.a.com
    ServerAdmin webmaster@puk.ro
    DocumentRoot /var/www/a.a.com
    ErrorLog /var/log/apache2/a.a.com.log
    CustomLog /var/log/apache2/a.a.com-access.log combined
</VirtualHost>
acest fisier de configurare raspunde pt domeniile a.com si a.a.com