Anda di halaman 1dari 23

Utilizamos cookies propias y de terceros para mejorar los servicios, obtener informacin estadstica, mostrar publicidad personalizada a travs

del anlisis de tu

navegacin, as como para programas de aliacin. Esta es la Poltica de cookies (https://www.webempresa.com/cookies-webempresa-america.html), consideramos

que la aceptas si sigues navegando

3.225 Razones para elegir Webempresa Conocerlas (https://www.webempresa.com/testimonios.html)

Acceso clientes (https://www.webempresa.com/areacliente.php)

BLOG (/blog.html) FORO (/foro.html) CONTACTA (/contactanos.html)

h
(tps/:wwww
. ebempresac.om)

Mircoles, 07 Septiembre 2016 15:28

Cdigos tiles .htaccess para sitios web


Escrito por Luis Mndez Alejo (/blog/autor/73-luismendezalejo.html)

CMS:Todos|Versin:Todas|Nivel de dicultad:Bsico|Tiempo estimado de lectura:5 minutos


Hoy en da, la mayora de ofertas de alojamiento web son para el servidor web Apache. Es una solucin mucho
ms barata en comparacin con la plataforma IIS en Windows. Apache es bien conocido por su capacidad para
usar .htaccess, donde podemos controlar determinados aspectos de nuestro sitio web, incluyendo el
rendimiento.

Uno de los ms populares es redirigir cualquier dominio sin www al dominio con www.. En este ejemplo, si
intentas tener acceso a http://webempresa.com, el servidor te redirigir a http://www.webempresa.com. Esto
puede garantizar que el PageRank no se divida en dos. Para tu informacin, Google trata a estos dos
dominios como diferentes. He aqu algunos de los cdigos .htaccess que puedes utilizar en tus sitios web.

Redirigir la URL sin www a la direccin con www


Como explique anteriormente, el siguiente cdigo redirigir de la URL de tu dominio sin alias www a la URL de
tu dominio con alias www.

RewriteEngineOn
RewriteCond%{HTTP_HOST}^webempresa.com[NC]
RewriteRule^(.*)$http://www.webempresa.com/$1[L,R=301]

Antes de avanzar, seguramente te habrs hecho a ti mismo una pregunta donde localizo el archivo .htaccess?
(http://www.webempresa.com/blog/htaccess-cpanel-donde-esta-archivo.html)

El archivo .htaccess es un archivo "oculto" (el . delante del nombre indica que se trata de archivo oculto).
Para poder visualizarlo debes:

1. Accede a tu cPanel.
2. Ve al Administrador de Archivos (te abre un dilogo y una de las opciones es "Mostrar archivos ocultos" que
debe estar seleccionada).
3. Navega a la carpeta /public_html.
4. Ah podrs localizar el archivo .htaccess (no confundir con htaccess.txt que si es visible).

Ahora que ya lo tienes claro, seguimos conociendo otros cdigos que puedes utilizar en tu archivo .htaccess.

Cmo cambiar de la URL con alias www a la URL sin alias www
Y el siguiente cdigo debe redirigir al usuario de la direccin URL de tu dominio con www a la direccin URL sin
www.

RewriteEngineOn
RewriteCond%{HTTP_HOST}^www.webempresa.com[NC]
RewriteRule^(.*)$http://webempresa.com/$1[L,R=301]

Redirigir siempre al alias www cualquier dominio apuntado


Este cdigo es til para redirigir uno o varios dominios para que trabajen con el alias www usando comodines
www.*.*:

RewriteCond%{REQUEST_URI}!^/robots\.txt$[NC]
RewriteCond%{HTTP_HOST}!^www\.[az]+\.[az]{2,6}[NC]
RewriteCond%{HTTP_HOST}([az]+\.[az]{2,6})$[NC]
RewriteRule^/(.*)$http://%1/$1[R=301,L]

Si tenemos varios dominios gestionado en la cuenta de Hosting, para no tener que crear una redireccin 301
(http://www.webempresa.com/blog/item/1715-redirecciona-urls-de-forma-correcta-usando-cpanel-y-
htaccess.html) de uno en uno cada dominio, otra forma de hacerlo es redirigiendo todos los .tld de los
dominios utilizados "sin alias www" a dominios "con alias www":

RewriteEngineOn
RewriteCond%{HTTP_HOST}!^www\.
RewriteRule^(.*)$http://www.%{HTTP_HOST}/$1[R=301,L]

Redirigir url de una carpeta a otra carpeta del mismo dominio


Una Redireccin 301 til cuando cometemos el error de indicar una carpeta nombrada de forma incorrecta o
que fue renombrada posteriormente es la siguiente, de forma que podamos redireccionar peticiones que
vayan a /carpeta1/ para que aterricen en /carpeta2/

Se deben aadir este tipo de redirecciones en el archivo .htaccess, en la parte ms alta del mismo posible:

Options+FollowSymLinks
RewriteEngineOn
RewriteRuleRewriteRule^carpeta1/(.*)$http://dominio.com/carpeta2/$1[R=301,L]

Redirigir un dominio a otro dominio


Para evitar que las urls se vean afectadas al cambiar de un dominio a otro dominio es conveniente que hagas la
siguiente redireccin en .htaccess de forma que quieres vengan de enlaces de la antigua url aterricen en la
nueva url de forma correcta, lo contrario afectara al posicionamiento y habra un aumento de prdida de
trco.

<IfModulemod_rewrite.c>
RewriteEngineOn
RewriteCond%{HTTP_HOST}^anteriordominio.com$[OR]
RewriteCond%{HTTP_HOST}^www.anteriordominio.com$
RewriteRule(.*)$http://www.nuevodominio.com/$1[R=301,L]
</IfModule>

Redirigir del localhost (tu PC) a un dominio remoto


Con esta regla puedes redireccionar de localhost (tu ordenador) a tu sitio web remoto (Hosting):

RewriteEngineOn
RewriteCond%{HTTP_HOST}^localhost$
RewriteRule(.*)$http://www.dominio.com/$1[R=301,L]

Si solo quieres redireccionar un subdominio concreto puedes crear la siguiente regla en tu .htaccess:

RewriteEngineOn
RewriteCond%{HTTP_HOST}^subdominio.dominio.com$
RewriteRule(.*)$http://www.nuevodominio.com/$1[R=301,L]

Una forma ms sencilla de hacer esto con comodines es creando una regla en .htaccess como la siguiente:

Redirect301(.*)$http://www.nuevodominio.com/$1
Impedir listar el directorio
Si tienes una carpeta en el servidor web utilizada para almacenar archivos como los eBooks, software legal, etc.,
si la carpeta no tiene archivo index.html, los visitantes pueden ver todos los archivos dentro de la carpeta sin
problemas. En este caso puedes utilizar el cdigo siguiente para evitar que esto suceda.

OptionsIndexes

Orden de ejecucin de archivos


Si tienes tanto el archivo index.html como el archivo index.php en la carpeta /public_html, el archivo index.html
tiene mayor prioridad y se ejecutar en primer lugar. Aunque la mayora de scripts web utilizan el archivo
index.php como punto de partida. Si se puede eliminar el archivo index.html, se soluciona el problema, aunque
no siempre es as y en estos casos hay una mejor solucin que es utilizar el siguiente cdigo para dar prioridad
al archivo index.php en vez de index.html.

DirectoryIndexindex.phpindex.html

Comprimir archivos CSS, JavaScript, XML y texto


El siguiente cdigo est diseado para comprimir el cdigo de salida CSS, JavaScript, XML y de texto antes de
ser mostrado en el navegador. La idea bsica es ahorrar tiempo en la carga y no consumir tanto ancho de
banda.

<ifmodule>
AddOutputFilterByTypeDEFLATEtext/htmltext/plaintext/xmltext/csstext/javascriptapplication/xjavascri
pt
</ifmodule>

Almacenamiento en cach de imgenes


Cada vez que recibimos visitas en la web, el servidor web obtiene todos los archivos necesarios, tales como
archivos CSS y JavaScript, as como fotos e imgenes para poder mostrarla. Podemos usar el cdigo de abajo
para gestionar los archivos de cach, y que cuando un visitante vuelva a visitarnos por segunda vez, el servidor
cargue el archivo de la cach lo que acelerar el tiempo de carga sitio web.
<IfModulemod_expires.c>
ExpiresActiveOn
ExpiresByTypeimage/gifA432000
ExpiresByTypeimage/jpgA432000
ExpiresByTypeimage/jpegA432000
ExpiresByTypeimage/pngA432000
ExpiresByTypeimage/icoA432000
ExpiresByTypeimage/bmpA432000
ExpiresByTypetext/cssA432000
ExpiresByTypetext/javascriptA432000
ExpiresByTypeapplication/javascriptA432000
ExpiresByTypeapplication/xjavascriptA432000
</ifmodule>

El cdigo anterior guarda cach de los archivos durante cinco das o 432.000 segundos. Puedes cambiar el
perodo de almacenamiento en cach, asegurndote de utilizar el valor expresado en segundos.

Proteger el archivo .htaccess


El siguiente cdigo evita que tu archivo .htaccess puedan ser ledo directamente desde el navegador web.

<Files.htaccess>
Orderallow,deny
Denyfromall
</Files>

Prevenir el hotlinking
A veces, otros webmasters, hacen suyas las imgenes de nuestras webs, artculos, etc., afectando con ello el
ancho de banda de que disponemos en nuestro Hosting. Si adems ellos tienen una gran cantidad de visitantes
al da, estos van a utilizar nuestro ancho de banda del servidor para visualizar nuestras imgenes en la web
ajena a nosotros.

Se puede utilizar el cdigo que se muestra a continuacin para evitar el hotlinking


(https://www.webempresa.com/blog/item/1874-que-es-el-hotlinking-y-como-afecta-a-tu-hosting.html), y de esta
forma reemplazar la imagen original por otra con algn aviso para hacerles saber que la imagen es nuestra o
que el hotlinking es una mala prctica.

RewriteEngineOn
RewriteCond%{HTTP_REFERER}!^http://(.+\.)?webempresa\.com/[NC]
RewriteCond%{HTTP_REFERER}!^$
RewriteRule.*\.(jpg|gif|bmp|png)$http://hotlink.webempresa.com/no_se_permite_hotlinking.jpg[L]
Puedes subir la imagen a un sitio de alojamiento de imgenes como ImageShack (http://imageshack.us/)
para evitar que tu ancho de banda se vea afectado.

Cambiar la ubicacin de la carpeta de dominio a otra carpeta de


/public_html
Si ya tienes un sitio web en /public_html, y quieres actualizar la pgina web, pero no quieres que los dems lo
vean, pero tampoco quieres afectar al sitio web en produccin existente, la forma ms fcil es la construccin
de la nueva pgina web en una subcarpeta de /public_html, por ejemplo, /public_html/web2.

Al nalizar todas las pruebas y mejoras, necesitas reemplazar el antiguo sitio web con el nuevo, pero transferir
archivos y carpetas a la carpeta /public_html es bastante molesto. La mejor solucin es usar.htaccess para
decirle a Apache que utilice la carpeta /public_html/web2 en lugar de /public_html para el dominio.

RewriteEngineOn
RewriteCond%{HTTP_HOST}^webempresa\.com$[OR]
RewriteCond%{HTTP_HOST}^www\.webempresa\.com$
RewriteCond%{REQUEST_URI}!^/web2/
RewriteRule(.*)/web2/$1[L]

Crear URLs de uso fcil o "amigables"


Cul de las dos URL a continuacin parece ms amigable?

http://tusitio.com/acercade
http://tusitio.com/paginas/acercade.html

Cuando se trata de direcciones URL, siempre y cuando el signicado sea claro, cuanto ms corto es, mejor.
htaccess con una llamada al mdulo de Apache mod_rewrite permite congurar las direcciones URL como
quieras. El servidor puede mostrar el contenido de "/paginas/acercade.html" cada vez que alguien visita
"http://tusitio.com/acercade".

A continuacin algunos ejemplos:

RewriteEngineon
RewriteRule^acercade/$/paginas/acercade.html[L]
RewriteRule^caracteristicas/$/caracteristicas.php[L]
RewriteRule^comprar/$/comprar.html[L]
RewriteRule^contacto/$/paginas/contacto.htm[L]
Forzar el uso de SSL
Este cdigo fuerza a utilizar SSL, no permitiendo conexiones http. Para evitar escuchas en http:// utilizamos por
debajo la directiva ErrorDocument (http://httpd.apache.org/docs/2.0/mod/core.html#page-header).

SSLOptions+StrictRequire
SSLRequireSSL

Cuando una lnea comienza por # es un comentario que no tiene ningn efecto.

Si alguien visita tu sitio el servidor web Apache verica si tiene un archivo .htaccess en algn lugar de su espacio
web a partir de la carpeta raz o la carpeta principal y rastrea todas las carpetas hasta llegar al archivo
solicitado. Si encuentra un archivo .htaccess, sus directivas se aplican a la solicitud actual.

Es importante saber que el archivo .htaccess debe ser legible por el servidor Apache. Por tanto es importante
consultar con su Hosting si se requiere algn permiso especial que hayan establecido para los archivos
.htaccess. En general los permisos correctos para este archivo son 644.

Redireccionar de HTTP a HTTPS


Cabe decir que es necesario disponer de un Certicado SSL (https://www.webempresa.com/hosting/certicado-
ssl-gratis-lets-encrypt.html) instalado en el Hosting para poder hacer uso de este protocolo ms seguro.

RewriteEngineOn
RewriteCond%{SERVER_PORT}80
RewriteRule^(.*)$https://tudominio.com/$1[R,L]

Redireccionar de HTTPS a HTTP


Puede darse el caso que an teniendo un Certicado SSL instalado (Comodo, Let's Encrypt, etc) quieras forzar el
trco encriptado SSL para que se sirva con HTTP por diversas razones (pruebas con plugins conictivos,
conguracin de una pasarela pago que no trabaja bien por HTTPS, etc), en cuyo caso cdigos como el
siguiente te permitirn pasar de HTTPS a HTTP sin desinstalar el Certicado SSL de tu Hosting.

#EnviartraficoHTTPSaHTTP
RewriteCond%{HTTP:XForwardedProto}=https
RewriteRule^(.*)$http://%{HTTP_HOST}%{REQUEST_URI}[L,R=301]

Este cdigo debes colocarlo por encima de cualquier otro cdigo de redireccionamiento, al principio del archivo
.htaccess.
Forzar la carga de index.html
Para que un sitio HTML funcione sin aadir index.html deberas apuntar un dominio o un subdominio
directamente a la carpeta que contenga la web, de modo que solo llamando a http://dominio.com o
subdominio.dominio.com (por ejemplo) cargue la web HMTL sin necesidad de aadir el archivo index.html.

Si una web se llama desde una ruta como http://domino.com/otra_carpeta/ es normal que tengas que aadir el
archivo index.html para que el navegador sepa que debe cargar.

No obstante puedes forzar mediante .htaccess para que cargue el archivo index.html sin tener que escribirlo en
el navegador.

RewriteEngineon
RewriteRule^(.*)\.php$$1.html%{QUERY_STRING}[L]

Estas apenas son unas pinceladas de las muchas posibilidades que tiene la correcta gestin del
archivo .htaccess que en la mayora de sitios webs, del nivel que sean, suele pasar
desapercibido y es relegado al estatus de un archivo ms, cuando el potencial del mismo es tan
grande como quiera otorgarle el usuario.

Lectura recomendada sobre .htaccess:


http://httpd.apache.org/docs/1.3/howto/htaccess.html
(http://httpd.apache.org/docs/1.3/howto/htaccess.html)
http://httpd.apache.org/docs/2.2/howto/htaccess.html#how
(http://httpd.apache.org/docs/2.2/howto/htaccess.html#how)
http://es.wikipedia.org/wiki/Htaccess (http://es.wikipedia.org/wiki/Htaccess)

Otros artculos del Blog sobre .htaccess:


Redirecciona urls de forma correcta usando cPanel y .htaccess
(https://www.webempresa.com/blog/item/1715-redirecciona-urls-de-forma-correcta-usando-cpanel-y-
htaccess.html)
10 sencillos consejos para reforzar la seguridad de WordPress usando .htaccess
(https://www.webempresa.com/blog/item/1493-10-sencillos-consejos-para-reforzar-la-seguridad-de-
wordpress-usando-htaccess.html)

Artculo actualizado con nuevas reglas: 11/09/2016


Te ha resultado interesante este artculo?

Suscrbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop

Nombre Correo Elige una opcin Suscrbete Gratis!

Publicado en Administracin del Hosting (/blog/categoria/hosting.html)

Luis Mndez Alejo (/blog/autor/73-


luismendezalejo.html)
Miembro del equipo tcnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+ (https://plus.google.com/104371420833292808927?rel=author)

Lo ltimo de Luis Mndez Alejo

Instalar PrestaShop en un subdominio de tu Hosting (/blog/instalar-prestashop-subdominio-hosting.html)

Temas en WordPress cmo descargar una copia del tema? (/blog/temas-wordpress-como-descargar-


copia.html)

Administrar Archivos en WordPress sin acceso a cPanel (/blog/administrar-archivos-en-wordpress-sin-


acceso-a-cpanel.html)

WP Doctor para WordPress toma el pulso a 50.000 webs (/blog/wp-doctor-wordpress-50000-webs.html)

Pestaas en WordPress dentro de post y pginas (/blog/pestanas-wordpress-post-paginas.html)

Artculos relacionados

Pginas de error cmo personalizarlas? (/blog/paginas-error-htaccess-personalizalas.html)


Redirecciona urls de forma correcta usando cPanel y .htaccess (/blog/redirecciona-urls-de-forma-correcta-
usando-cpanel-y-htaccess.html)

Protege el archivo de conguracin de WordPress wp-cong.php (/blog/protege-el-archivo-de-


conguracion-de-wordpress-wp-cong-php.html)

Redireccionar dominio sin www a dominio con www usando aiRedirectWww en Joomla 2.5/3.1
(/blog/redireccionar-dominio-sin-www-a-dominio-con-www-usando-airedirectwww-en-joomla-2-5-3-
1.html)

URLs amigables en Joomla! (/blog/urls-amigables-en-joomla.html)

Acelera tu WordPress

Nuevo Webinar Gratis

"WordPress ms rpido en 30 minutos"

Todos los das a las 19:00


(GMT+01:00) Madrid

Ok, Apntame (http://eWebinars.com/6657/ruyfoejnv1/webinar-register.php?

landingpage=default&expiration=default)
HOSTING CONFIABLE

Hosting WordPress (/wordpress/hosting-wordpress.html)

Hosting Joomla (/hosting-joomla.html)

Hosting Prestashop (/hosting-prestashop.html)

Servidores Alta Velocidad (/hosting/expertos-en-acelerar-webs.html)

99,9% Uptime Garantizado (/hosting/garantia-tiempo-de-actividad.html)


CREAR WEB

Crear Web WordPress (/crear-web-wordpress.html)

Crear Tienda WordPress (/pack-tienda-wordpress.html)

Plantillas WordPress Gratis (/temas-wordpress-gratis.html)

Crear Web Joomla (/crear-web-con-joomla.html)

Crear Tienda PrestaShop (/plantillas-prestashop.html)


RECURSOS

Cursos WordPress Online (/webinars-wordpress.html)

Cursos Joomla! Online (/webinars-joomla.html)

Cursos PrestaShop Online (/webinars-prestashop.html)

Descargar WordPress (/descargar-wordpress.html)

Descargar Joomla (/descargar-joomla-3.html)

WP Doctor (beta) (http://www.wpdoctor.es)


APRENDER

Qu es WordPress? (/que-es-wordpress.html)

Curso WordPress (/curso-wordpress-gratis.html)

Curso Woocommerce (/curso-woocommerce-gratis-para-tiendas-wordpress.html)


Tutoriales WordPress (/wordpress/tutorial-seguridad-en-wordpress-guia-completa.html)

Curso Joomla 3 (/curso-de-construccion-de-un-sitio-web-desde-cero-usando-joomla-3.html)

Curso PrestaShop (/curso-prestashop.html)


NOSOTROS

De carne y hueso (/por-que-webempresa.html)

Testimonios (/testimonios.html)

Aliados (/sobre-nosotros/aliados.html)

Red de Colaboradores (/directorio-colaboradores.html)

Acceso a Soporte (/acceso-a-soporte.html)

Wiki (http://wiki.webempresa.com)

(htt
p://
fee
(htt dly.

ps:/ co
/w m/i
ww. /su
you bsc

tub ripti
(htt e.c on/
ps:/ om fee

/w /us d/h
ww. (htt er/ ttps
fac (htt ps:/ we ://w
ebo ps:/ /plu be ww.
ok.c /twi s.g mp we
om tter oog res be
/we .co le.c a? mp
be m/ om sub res
mp we /+w _co a.c

res be ebe nr om
a.h mp mp mat /blo
osti res res ion g.fe
ng) a) a) =1) ed)
(/ho
sting (/ho
- sting
wor (/rep -
dpre ublic wor
ss- (/cos a- dpre
(/arg colo ta- dom (/ec ss- (/pa (/ur
enti mbi rica. (/chil inica uad mexi nam (/per (/us ugu
na.h a.ht html e.ht na.h or.ht co.h a.ht u.ht a.ht ay.h
tml) ml) ) ml) (/) tml) ml) tml) ml) ml) ml) tml)

comercial@webempresa.com (mailto:comercial@webempresa.com)

1997 - 2016 Aviso legal y poltica de privacidad (/aviso-legal-webempresa-america.html) Cookies (/cookies-

webempresa-america.html) Mapa web (/mapa-del-sitio.html)

Condiciones generales de contratacin (/condiciones-servicios-contratados-webempresa-america.html)

Joomla! es un software libre publicado bajo la licencia GNU/GPL.


Webempresa is not aliated with or endorsed to Open Source Matters or the Joomla! Project.
The Joomla (R) name is used under a limited license from Open Source Matters the worldwide trademark
holder.

Anda mungkin juga menyukai