.htaccess rewrites (redirecciones)
/via:http://deteresa.com/redireccion-301/ hay que tener el mod_rewrite activo
Options +FollowSymlinks RewriteEngine on
RedirectMatch permanent ^/(.*) http://<url>/$1
zxc.cat
RewriteEngine on RewriteRule ^wiki.*$ https://miguelangel.torresegea.es/wiki/$1 [r=307,L] RewriteRule ^blog.*$ https://miguelangel.torresegea.es/blog/$1 [r=307,L] RewriteRule ^sqleditor.*$ https://miguelangel.torresegea.es/bike-9b12022-portable/ [r=307,L] RewriteRule ^sql.*$ https://miguelangel.torresegea.es/sqldesigner/ [r=307,L] RewriteRule ^estellar.*$ https://bitbucket.org/estellarcat/workspace/projects/EST [r=307,L] RewriteRule ^diezminutos.*$ https://bitbucket.org/10minutos/workspace/projects/XMIN [r=307,L] RewriteRule ^text.*$ https://www.outpan.com/app/e7d5b37405/mytextarea [r=307,L] RewriteRule ^k1.*$ https://k1.vividumcodex.com/ [r=307,L] RewriteRule ^montmany.*$ https://fruitsmontmany.cat/wp-admin [r=307,L] RewriteCond %{HTTP_HOST} zxc.cat$ [NC] RewriteCond %{REQUEST_URI} !^/help RewriteCond %{REQUEST_URI} !^/bofh-excuse RewriteRule ^(.*)$ https://miguelangel.torresegea.es/wiki/$1 [r=307,L]
301
- redireccionar de una página a otra u otro dominio:
Redirect 301 /vieja-pagina http://www.dominio.com/nueva-pagina
- redireccionar solo la página principal del dominio:
RedirectMatch 301 ^/$ http://www.dominio.com/nueva-pagina
- redireccionar un directorio:
Redirect 301 /viejo-directorio/ http://www.dominio.com/nuevo-directorio/
- redirección de un subdirectorio + sus páginas:
RedirectMatch 301 ^/viejo-directorio/(.*)$ http://www.dominio.com/nueva-pagina
- redireccionar dominio
Redirect 301 / http://www.dominio.com
RedirectMatch 301 ^(.*)$ http://www.dominio.com
- Redireccionar 301 (de técnicos de Colt):
RewriteEngine on rewriterule ^(.*)$ http://www.volvocars.com/es/sales-services/sales/volvoselekt/Pages/ [r=301,nc]
www
- redireccionar de www a no-www:
<IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} ^example.com [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L] </IfModule>
- redireccionar de no-www a www:
<IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [R=301,L] </IfModule>
Más información: http://deteresa.com/redireccion-301
- eliminar las www:
Options +FollowSymlinks RewriteEngine on RewriteCond %{http_host} ^www\.example\.com[nc] RewriteRule ^(.*)$ http://example.com/$1 [r=301,nc]
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
- de www. a <nada> para evitar penalizaciones de doble indexación:
RewriteEngine On RewriteCond% {} HTTP_HOST! ^ su-site.com $ [NC] RewriteRule ^(.*)$ http://your-site.com/ $ 1 [L, R = 301]
http a https
- activar el módulo rewrite en apache:
$ sudo a2enmod rewrite
# Copia el contenido siguiente en tu archivo .htaccess y colócalo en la raíz de tu sitio web. RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.dominio.com/$1 [R,L] # Para forzar la conexión segura en un folder en especifico. RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} folder RewriteRule ^(.*)$ https://www.dominio.com/folder/$1 [R,L] Para este segundo caso el archivo .htaccess debe estar ubicado en el folder donde necesitas activar HTTPS.
otros
- cancelar sitio completo «por obras»:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_COOKIE} !^.*secret-cookie.*$ [NC] RewriteRule .* maintenance-page.html [NC,L]
/vía: http://www.besthostratings.com/articles/force-ssl-htaccess.html
- utilizar la redirección 301 para evitar penalización en Google:
Options +FollowSymlinks RewriteEngine on rewriterule ^(.*)$ http://www.nuevapaginaweb.com/$1 [r=301,nc]
- redireccionar una petición de la raíz de la página web a una carpeta:
RewriteEngine On RewriteCond %{HTTP_HOST} ^entregaelbalon\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.entregaelbalon\.com$ RewriteCond %{REQUEST_URI} !^/copadelrey/ RewriteRule (.*) /copadelrey/ [L]
en este caso, las peticiones a www.entregaelbalon.com irán automáticamente a www.entregaelbalon.com/copadelrey (si se intenta con redirect da bucle)
redireccions
- .htaccess
RewriteEngine on rewriterule ^(.*)coneixelteucervell(.*)$ https://fidmag.org/ca/subwebs/participa-i-descobreix-el-teu-cervell.html [r=301,nc] rewriterule ^(.*)$ https://fidmag.org/es/subwebs-esp/participa-y-descubre-tu-cerebro.html [r=301,nc]
- redirecció en fitxer configuració virtualhost de :80 a :443
<VirtualHost *:80> ServerName landing.fidmag.org Redirect permanent / https://landing.fidmag.org/ </VirtualHost> <VirtualHost *:80> ServerName brainpredict.com ServerAlias www.brainpredict.com Redirect permanent / https://brainpredict.com/ </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost ServerName landing.fidmag.org ServerAlias braindredict.com DocumentRoot /var/landing.fidmag.org/public <Directory /var/landing.fidmag.org/public> #Options -Indexes Options FollowSymLinks Indexes AllowOverride All Require all granted </Directory> ErrorLog /var/landing.fidmag.org/log/error.log CustomLog /var/landing.fidmag.org/log/access.log combined SSLEngine on SSLCertificateFile /etc/letsencrypt/live/landing.fidmag.org/ssl.pem <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> </VirtualHost>
bloquear referrer maliciosos (no hotlinking)
RewriteEngine on RewriteCond %{HTTP_REFERER} ejemplo\.com [NC,OR] RewriteCond %{HTTP_REFERER} otroejemplo\.com RewriteRule .* - [F]
- Si el visitante no es de mi sitio -example.com- y pide un fichero de esas extensiones, redireccionalo a un arhivo .gif :
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://([-a-z0-9]+\.)?example\.com[NC] RewriteRule .*\.(zip|mp3|avi|wmv|mpg|mpeg)$ http://www.example.com/images/nohotlink.gif [R,NC,L]
- ojo con enlaces que si que quieres permitir - como un RSS - a alguno de tus ficheros