Avís
Els exemples dels enllaços següents es proporcionen per cortesia – Clouding.io no configurarà rewrite rules per a llocs web individuals dels seus clients.
Instruccions generals
- Crea un fitxer de text pla amb el nom .htaccess, o afegeix les línies de codi de l'exemple que s'adapti a les teves necessitats a la part superior del teu fitxer .htaccess.
- Afegeix les línies de l'exemple adequat per a les teves necessitats al fitxer .htaccess. Tingues en compte que hauràs de substituir el text d'exemple per la teva pròpia informació. És a dir, hauries de substituir dominio.com pel teu nom de domini, directorio1 pel nom del teu directori, archivo.html pel teu nom de fitxer, etc.
- Fes servir el teu client FTP per pujar el fitxer .htaccess al directori, o subdirectori, del domini corresponent. Si vols que el fitxer es carregui en accedir al domini, hauries de pujar el fitxer .htaccess a l'arrel de l'allotjament del teu domini, que sol ser:
- /var/www/vhosts/dominio.com/httpdocs – En el cas d'un servidor amb Plesk
- dominio.com/httpdocs – En el cas d'un allotjament compartit
Un cop pujat el fitxer, la regla de reescriptura (rewrite rule) hauria de funcionar immediatament.
Avís
Alguns sistemes de gestió de continguts (Content Management Systems o CMS), com ara WordPress, sobreescriuen els fitxers .htaccess amb la seva pròpia configuració. En aquest cas, hauries de buscar la manera de fer aquests canvis des del CMS que estiguis utilitzant.
Exemple de fitxer .htaccess
Avís
El directori /directorio1 ha de ser únic a l'URL. És a dir que, per exemple, la redirecció no funcionaria si existís el fitxer “directorio1.html” com a l'URL següent: http://dominio.com/directorio1/directorio1.html.
A més, perquè funcioni la regla, el directori directorio1 ha d'existir i tenir contingut.
El fitxer .htaccess d'exemple següent redirigirà http://dominio.com/archivo.html a http://dominio.com/directorio1/archivo.html:
Fitxer
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} dominio.com$ [NC]
RewriteCond %{HTTP_HOST} !directorio1
RewriteRule ^(.*)$ http://dominio.com/directorio1/$1 [R=301,L]
Provar els exemples
Crea i puja el fitxer “index.html” següent a /directorio1 a través d'FTP:
Fitxer
html
body
Mod_rewrite està funcionant 🙂
body
html
Aleshores, si has seguit l'exemple correctament, en visitar http://dominio.com/ al navegador, hauries de veure el canvi d'adreça a http://dominio.com/directorio1/, i el contingut de la pàgina de prova.
Explicació del codi
- Options +FollowSymLinks – és una directiva d'Apache, un requisit previ per a mod_rewrite.
- RewriteEngine On – habilita mod_rewrite.
-
RewriteCond %{HTTP_HOST} – serveix per indicar quines adreces URL volem que passin, i quines no, per la regla especificada
- En el primer cas volem que la regla funcioni amb dominio.com
- [NC] – fa que la regla funcioni amb les dues versions, en majúscules i en minúscules, de l'URL.
- ! – significa “no”, i s'utilitza perquè la regla no funcioni, en aquest cas, amb directorio1. Ho especifiquem perquè no volem reescriure un URL que ja inclogui directorio1, perquè continuaria intentant afegir directorio1 a l'URL, i es convertiria en un URL infinit.
- En el primer cas volem que la regla funcioni amb dominio.com
-
RewriteRule – defineix una regla particular.
- Dins de la regla de reescriptura, la primera cadena de caràcters després de RewriteRule defineix quin aspecte té l'URL original.
- La segona cadena després de RewriteRule defineix l'URL nou.
-
$1 – Aquest caràcter especial substitueix (o indica) la part entre parèntesis especificada a la primera cadena. Bàsicament, el que fa és assegurar que les subpàgines redirigeixin a la mateixa subpàgina i no a la pàgina principal. Pots ometre'l per redirigir a la pàgina principal. (Si no existeix el mateix contingut al directori nou que hi havia al directori antic, deixa aquesta expressió regular.)
Informació addicional
Has oblidat la contrasenya?
Pots trobar més detalls sobre els caràcters especials, coneguts com a expressions regulars, a l'article Utilitzar les rewrite rules
-
- [R=301,L] – Aquesta opció fa una redirecció 301 i també impedeix que les regles de reescriptura escrites després afectin l'adreça URL (una bona idea per afegir després de l'última rewrite rule).