RewriteEngine on
RewriteCond %{REQUEST_URI} !^new_2021/
RewriteRule .? new_2021%{REQUEST_URI} [R=301,L]
Mostrando entradas con la etiqueta htaccess. Mostrar todas las entradas
Mostrando entradas con la etiqueta htaccess. Mostrar todas las entradas
htaccess: redirigir todo el proyecto a una subcarpeta
htaccess: corregir error Access-Control-Allow-Origin
Si el navegador te bloquea las fuentes y te da el error: Access-Control-Allow-Origin
Hay que escribir esto en el htaccess:
Especial agradecimiento a Carlos Sierra García
Hay que escribir esto en el htaccess:
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
Especial agradecimiento a Carlos Sierra García
htaccess: si se pasa un parámetro concreto no haga una redirección
Por ejemplo si como parámetro se pasa preview=true
RewriteCond %{QUERY_STRING} !preview=true
RewriteRule ^/?$ "https\:\/\/www\.midominio\.com\/landing\/" [R=301,L]
htaccess: bloquear el acceso a un fichero concreto
<Files fecha.txt>
Order allow,deny
Deny from all
</Files>
htaccess: varios
RewriteEngine On
RewriteBase /
Quitar la / del final de la URL:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ $1 [L,R=301]
Forzar de http a https
RewriteCond %{HTTP_HOST} !^wwwserver
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Redirigir de https://midominio.com a https://www.midominio.com:
RewriteCond %{HTTP_HOST} !^www
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Borrar la extensión php de las urls:
RewriteCond %{HTTP_HOST} ^www\.midominio\.com
RewriteCond %{THE_REQUEST} ^GET\ /([^/]*)\.php\ HTTP
RewriteRule (.*)\.php$ https://www.midominio.com/$1 [R=301]
RewriteCond %{HTTP_HOST} ^midominio\.com
RewriteCond %{THE_REQUEST} ^GET\ /([^/]*)\.php\ HTTP
RewriteRule (.*)\.php$ https://www.midominio.com/$1 [R=301]
Que una regla no afecte a una carpeta en concreto (por ejemplo la de quitar .php)
RewriteCond %{HTTP_HOST} ^midominio\.com
RewriteCond %{THE_REQUEST} ^GET\ /([^/]*)\.php\ HTTP
RewriteCond %{REQUEST_URI} !/intranet/
RewriteRule (.*)\.php$ https://www.midominio.com/$1 [R=301]
Otra forma de quitar la extensión .php:
RewriteCond %{THE_REQUEST} \.php
RewriteRule ^(.*)\.php$ /$1 [R=301,L]
Que una redirección afecte solo si empieza por lo que se indica
# esto no afectaría por ejemplo a www.midominio.com/imagenes/blog
# esto afectaría a: www.midominio.com/blog
RewriteRule ^blog https://otrodominio.com
Que redirija de una carpeta a otra
# ej: que de /blog/loquesea/pepe vaya a https://www.midominio.com/blog/Otracarpeta/pepe
Redirect 301 /blog/loquesea/(.*)$ https://www.midominio.com/blog/Otracarpeta/$1
Redirección 410 usando comodín: (que lo haga para todo lo que empiece por /media/cache/)
RedirectMatch gone /media/cache/.*
Hacer redirecciones 301 pero que no afecte a determinadas urls (añadir excepciones a la regla):
RewriteCond %{REQUEST_URI} !blog/abc [NC]
RewriteCond %{REQUEST_URI} !blog/def [NC]
RewriteRule blog/(.*)$ https://www.midominio.com/blog/$1 [NC,R=301,L]
Quitar las www del dominio:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.midominio\.com [nc]
RewriteRule ^(.*)$ http://midomnio.com/$1 [r=301,nc]
htaccess: redirección 301
Redirect 301 /vieja-pagina http://www.example.com/nueva-pagina
RedirectMatch 301 /producto-xxx/ https://www.midominio.com/mayonesa-especial/
Más información en:
http://deteresa.com/redireccion-301/
htaccess: regla para sobreescribir directorio (sin que haga redirección)
Por ejemplo:
www.midominio.com/tienda/index.php
internamente está tirando de:
www.midominio.com/media/tienda/index.php
www.midominio.com/tienda/index.php
internamente está tirando de:
www.midominio.com/media/tienda/index.php
# Permite reescritura de los directorios
Options +FollowSymLinks
# Abilita el módulo de Reescritura
RewriteEngine on
RewriteRule ^tienda/(.*)$ media/tienda/$1 [QSA,NC,L]
htaccess: Redirección si nada detrás
RewriteRule /en/$ https://www.midominio.com/ [R=301]
la $ indica que la cadena termina ahí, es decir, solo afectará a:
/en/
y por ejemplo no afectará a:
/en/loquesea
htaccess: Hacer que los links a los PDF sean noindex, follow
#Que los PDF que enlace desde la web sea noindex, follow
<Files ~ "\.pdf$">
Header set X-Robots-Tag "noindex, follow"
</Files>
Si quisieramos simplemente que ni lo indexe ni lo siga entonces es mucho más fácil hacerlo directamente en el robots.txt:
Disallow: *.pdf$
htaccess: forzar https
# Forzar https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Si el htaccess (a pesar de ser Apache) no funciona es posible que esté desactivado o deshabilitado para que funcione hay que habilitar en el servidor la directiva:
AllowOverride All
Si es un servidor que no tiene Apache entonces hay que modificar el fichero web.config:
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Comprimir recursos con gzip
<IfModule mod_deflate.c>
# Comprimir HTML, CSS, JavaScript, Text, XML y fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Eliminar browser bugs (necesario en caso de navegadores realmente antiguos)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
Más información en https://www.windowslinuxymac.com/seo/118-como-comprimir-una-web-con-gzip-o-deflate-mediante-htacces.html
htaccess: redirección 410
# www.midominio.com/loquesea
Redirect gone /loquesea/
# Aplicar redirección a todos los que contengan en la url /twitter_url/
RedirectMatch 410 /twitter_url/
htaccess: poner fecha de expiración a las imágenes, css, js
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault A3600
<filesmatch ".(jpg|JPG|gif|GIF|png|css|ico|js)$">
ExpiresDefault "Expira en 7"
</filesmatch>
</ifmodule>
También se puede poner así:
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/x-icon "access plus 2592000 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 86400 seconds"
ExpiresByType application/x-javascript "access plus 86400 seconds"
</ifmodule>
Para que te haga caso las indicaciones anteriores:
# Cache One year for image files
<filesMatch ".(jpg|jpeg|png|gif|ico|swf)$">
Header set Cache-Control "max-age=31536000, public"
</filesMatch>
# Cache One month for css and js
<filesMatch ".(css|js)$">
Header set Cache-Control "max-age=2628000, public"
</filesMatch>
En el caso de los tipos de letras (woff y demás) hay que hacer antes arribe del todo:
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg
Y luego en el <ifmodule mod_expires.c poner:
...
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
ExpiresByType application/x-font-ttf "access plus 1 month"
ExpiresByType application/x-font-opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
O si quieres distintos tiempos según el tipo de archivo :
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault A3600
<FilesMatch ".(gif|jpg|jpeg|png|ico|swf)$">
# 2 semanas
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch ".(xml|txt|html)$">
# 2 h
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
<FilesMatch ".(js|css)$">
# 3 dias
ExpiresDefault A604800
Header append Cache-Control "public"
</FilesMatch>
</ifmodule>
htaccess: Que una regla no afecte a una subcarpeta
# que esta regla solo afecte a ficheros php y que NO afecte a los ficheros de la intranet
RewriteCond %{THE_REQUEST} \.php
RewriteCond %{REQUEST_URI} !/intranet/
RewriteRule ^(.*)\.php$ $1?i=%{REQUEST_URI} [R=301,L]
htaccess: Forzar redirección de fichero con extensión PHP a sin extensión
Por ejemplo: proyecto.php redirecciona a proyecto
Además que esta regla solo afecte a ficheros php y que NO afecte a los ficheros de la carpeta codigo
Además que esta regla solo afecte a ficheros php y que NO afecte a los ficheros de la carpeta codigo
RewriteCond %{THE_REQUEST} \.php
RewriteCond %{REQUEST_URI} !^/codigo/
RewriteRule ^(.*)\.php$ /$1 [R=301,L]
htaccess: que las www redirija a sin www
htaccess: que las www redirija a sin www
(por ejemplo:
www.prueba.com a prueba.com)
(por ejemplo:
www.prueba.com a prueba.com)
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
htaccess: Forzar que al poner el nombre fichero sin extensión php se redirija al correspondiente PHP
# Forzar que al poner el nombre fichero sin extensión php se redirija al correspondiente PHP
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]*)/?$ $1.php
Por ejemplo
www.midominio.com/proyectos ejecute internamente www.midominio.com/proyectos.php
Excel: Hacer automáticas redirecciones de htaccess
En una nueva columna del Excel:
="RedirectMatch 301 "&A1&" "&B1&""
Y luego tirar para abajo para que se aplique la fórmula a todas las demás filas
="RedirectMatch 301 "&A1&" "&B1&""
Y luego tirar para abajo para que se aplique la fórmula a todas las demás filas
Suscribirse a:
Entradas (Atom)
