Com crear un re-adreçament simple des d'Apache 2.2 i 2.4
Apache HTTP Server
Quan tu permets que la teua pàgina web servisca continguts per dues vies, el que tens és un problema de duplicitat de continguts, això per als motors de cerca és fatal. En aquest Howto anem a aprendre a configurar un re-adreçament simple usant el mod_alias d'Apache, així com els tipus de re-adreçament que existeixen. Quan s'ha configurat un domini en Apache, cal decidir baix que configuració vols que el contingut de la teva pàgina web es desplegui. La pregunta bàsica: amb www o sense www; amb el port d'escolta o sense ell (exemple amb :8080 o sense :8080).
Per què és necessari això?
Quan tu permets que la teua pàgina web servisca continguts per dues vies (Ex. http://www.exemple.org i http://exemple.org o bé http://exemple.org i http://exemple.org:8080) el que tens és un problema de duplicitat de continguts, això per als motors de cerca és fatal. És com mantenir dos llocs als quals estàs fent tasques de posicionament als motors de cerca i competeixen entre ells.
Resoldre això és molt fàcil amb mod_alias, i ho anem a veure una mica més avall.
Què és mod_alias?
És un mòdul d'Apache que permet manipular rutes de la teua pàgina web. Entre el que es pot fer és: crear rutes virtuals, redireccionar rutes, crear àlies per a rutes existents fins i tot que no formen part del teu lloc (en un altre directori a servidor).
Existeixen 4 tipus de re-adreçament que podem utilitzar segons el nostre criteri:
- 301 - Indica que el recurs s'ha mogut de forma permanent.
- 302 - Indica que el recurs s'ha mogut de forma temporal.
- 303 - Indica que el recurs ha estat reemplaçat per un altre.
- 402 - Indica que el recurs s'ha eliminat de forma permanent. Quan s'utilitza aquest estat l'argument URL s'ha d'ometre.
Configuració pas a pas d'un re-adreçament simple utilitzant el mod_alias d'Apache HTTP Server (versió 2.2 i 2.4)
Habilitar mod_alias a Apache
Per habilitar mod_alias a Apache hem d'executar:
sudo a2enmod alias
Exemples en dos escenaris diferents:
1 Escenari, Quan permets que la teua pàgina web servisca continguts per dues vies, amb www i sense www (Ex. Http://www.exemple.org i http://exemple.org)
Crearem dos arxius virtualhost, un on hi haurà la configuració del lloc que servirà el contingut (amb www) i la segona que contindrà el redirect (sense www). Apache guarda la configuració dels virtualhost sota el directori /etc/apache2/sites-available. Amb l'editor nano, crearem dos arxius en aquest direcrori.
sudo nano /etc/apache2/sites-available/www.exemple.org.conf
Afegim el següent contingut ...
<VirtualHost *:80>
ServerAdmin
ServerName www.exemple.org
ServerAlias www.exemple.org
DocumentRoot /var/www/www.exemple.org
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /var/www/inforoigpv/>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Guardem l'arxiu i ara crearem el segon.
sudo nano /etc/apache2/sites-available/exemple.org.conf
Ara afegim la configuració del redirect ...
<VirtualHost *:80>
ServerName exemple.org
Redirect 301 / http://www.exemple.org/
</VirtualHost>
Nota ... Establint les directives ServerAlias a subdominis o *.domain.com*, pot redirigir aquests o tots els subdominis en un sol pas al domini apropiat.
Novament hem de guardar l'arxiu. El que hem definit en aquest escenari és que qualsevol accés a la URL http://exemple.org re-adrece automàticament cap http://www.exemple.org.
2 Escenari, Quan permets que la teua pàgina web servisca continguts per dues vies, amb el port d'escolta per defecte (default) d'Apache i un altre (Ex. http://servidorsroig.sytes.net i http://servidorsroig.sytes.net.org:8080)
En aquest cas tenim dos servidors físics:
- Un servidor físic sota Debian 7, on estem fent córrer Apache 2.2 pel port d'escolta 8080 i on tenim allotjat el lloc servidorsroig.sytes.net (per accedir al lloc haurem d'afegir el número del port a l'adreça, 'http://servidorsroig.sytes.net:8080), el seu virtualhost és:
<VirtualHost *:8080>
ServerAdmin
ServerName servidorsroig.sytes.net
ServerAlias servidorsroig.sytes.net
DocumentRoot /var/www/servidorsroig.sytes.net
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/servidorsroig.sytes.net/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- I l'altre servidor físic sot a Ubuntu 14.04, on estem fent córrer Apache 2.4 (amb el port d'escolta per defecte 80) i on tenim allotjades vàries webs. És ací on crearem el nostre redirect, Apache guarda la configuració dels virtuahost al directori /etc/apache2/sites-available, així que crearem un virtualhost (que jo anomenaré servidorsroig-redirect.conf):
sudo nano /etc/apache2/sites-available/servidorsroig-redirect.conf
Afegim la configuració del redirect:
<VirtualHost *:80>
ServerName servidorsroig.sytes.net
Redirect 301 / http://servidorsroig.sytes.net:8080/
</VirtualHost>
Novament hem de guardar l'arxiu. El que hem definit en aquest escenari és que qualsevol accés a la URL http://servidorsroig.sytes.net o http://servidorsroig.sytes.net:8080 re-adrece automàticament cap a http://servidorsroig.sytes.net:8080, d'altra forma al accedir a http://servidorsroig.sytes.net (sense el número de port), en joc d'apuntar cap al servidor on és allotjada aquesta web, apuntarà cap al servidor que té Apache assignat el port default (per defecte), el que és el mateix el port 80.
Habilita fitxers virtuallhosts
Perquè la configuració tinga efecte, hem d'habilitar les configuracions en Apache. Per això hem d'executar les ordres:
Al escenari 1 (Ex. Http://www.exemple.org i http://exemple.org)
sudo a2ensite www.exemple.org
sudo a2ensite exemple.org
Al escenari 2 (Ex. http://servidorsroig.sytes.net i http://servidorsroig.sytes.net.org:8080), on hem creat el redirect.
sudo a2ensite servidorsroig-redirect.conf
Recarregar la configuració d'Apache
Perquè les modificacions tinguen efecte cal fer que apache torne a llegir els seus fitxers.
sudo service apache2 reload
Ara que la configuració ha estat aplicada, només cal anar a un navegador i provar-la. Dirigeix-te al domini configurat sense www, i veuràs que en qüestió de mil·lisegons aquest és re adreça al lloc amb www, o dirigeix-te domini configurat sense número de port i veuràs que aquest és re adreça al lloc amb número de port 8080.
Salutacions
SALUT I LLIBERTAT

Torna a la portada