.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
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]
  • 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]
  • 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]
  • 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.
  • 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]
  • en PHP:
    <?php
    $web_url ="http://www.nuevapaginaweb.com";
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: $web_url");
    exit(0);
    ?>
  • 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)

.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>
  • 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
  • web/apache/htaccess/redirects.txt
  • Darrera modificació: 05/02/2022 03:29
  • per mate