Modificar Apache cuando mudemos nuestro blog

Leyendo el artículo De mudanza con tu blog, se nos ocurrió ampliar la información con una parte técnica.

Para ello es necesario modificar el archivo .htaccess que se encuentre en el directorio raíz.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !dominionuevo.com$ [NC]
RewriteRule ^(.*)$ http://dominionuevo.com/$1 [L,R=301]

El código 301 es para informar que es de forma permanente.

Si queremos modificar las URLs, ya que por ejemplo hemos cambiado de path del Movable Type, tendremos que modificar tambien el .htaccess de la siguiente manera.

RewriteRule ^path-mt/mt-tb.cgi/([0-9])+/$ mt-tb.cgi/$1

Y si lo que queremos es pasar de una url del tipo /pagina.php?id=n a una que sea /titulo-de-la-pagina-n.php, tendremos que escribir una regla para cada página.

RewriteRule /pagina.php?id=1 /bienvenidos.php
RewriteRule /pagina.php?id=2 /google-compra-microsoft.php
RewriteRule /pagina.php?id=3 /como-meter-la-pata-con-facilidad.php
...
RewriteRule /pagina.php?id=n /me-voy-a-mudar-de-blog.php

Actualización: Este ejemplo no estaba del todo claro y ha sido corregido.

Más información

| |

Elige. Tu dominio con o sin www

www-si-o-no.jpg Uno de nuestros hábitos, aunque muchos dicen pijerías :), es mostrar los dominios en una versión, es decir con o sin www lo que impide la duplicación de contenidos en 2 url’s diferentes.

Las razones para evitar la duplicidad son variadas. Desde posicionamiento en buscadores a unificar el pagerank. Aunque Choan y Víctor lo resumen muy bien en castellano:

En realidad, lo importante es que el usuario pueda acceder a nuestro sitio con o sin el www. por delante. Ojo, con un pero bien grandote: debemos facilitar el acceso a través de cualquiera de las dos direcciones —en beneficio del usuario—, pero nuestros contenidos deben estar disponibles solamente en una de ellas.

Choan Gálvez

En la mayoría de casos estamos optando sin www. Las encontramos superfluas y totalmente innecesarias cuando verbalizas una dirección web.

Dando por hecho que tu web está en Apache crea o edita el archivo .htaccess de tu raíz FTP sustituyendo example y .com por lo que corresponda a tu dominio:


# Para que el dominio salga siempre sin www.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

Y si te gusta lo clásico:


# Para que el dominio salga siempre con www.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
| | |

Ponle copyright a tus imágenes mediante PHP

copyright.png Muchas veces queremos que las personas se descarguen las imágenes que tenemos en nuestras páginas web, pero también queremos que quede bien claro quién es el autor. Para ello podemos editar todas las imágenes que tengamos, o bien que el propio entorno se encargue de poner el copyright por nosotros.

El método es sencillo, modificamos las opciones del Apache para que cuando se acceda a una imagen, lo redireccionemos a un script que se encargará de escribir el texto que queramos.

Read More “Ponle copyright a tus imágenes mediante PHP”

| |

Protege tus imágenes con Apache

Una de las cosas más molestas con las que te puedes encontrar al mantener un sitio, es ver cómo tus imágenes estan siendo utilizadas en otros sitios que las enlazan directamente a tu servidor, esto es molesto por dos motivos, evidentemente el uso de material gráfico de tu propiedad sin tu consentimiento, y la carga extra que sufre la conexión de tu página.
Para los que usamos Apache existe una fácil solución combinándolo con mod_rewrite, el método se basa en crear un fichero .htaccess que contenga una serie de reglas, que literalmente le indicarán al servidor que las imágenes solo se mostrarán si la petición viene del dominio propio.
Las reglas a añadir son las siguientes. Solo tendrás que sustituir el texto example.com por el nombre de tu dominio:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example.com/?.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|png|mp3|mpg|avi|mov)$ - [F,NC]
|

Restringir el acceso a directorios mediante Apache

Hay ocasiones en las que no queremos que se acceda a directorios de nuestro servidor web, ya sea porque estamos en fase de construcción, o porque contenga información confidencial, o porque sea el directorio dónde tenemos la aplicación de administración, o simplemente porque es el ordenador de casa y queremos poder acceder a él, pero no queremos que cualquiera se meta.

Realizar esta operación en Apache es sencillo, sólo necesitamos crearnos un fichero de usuarios, modificar (si es necesario) la configuración del servidor y añadir un fichero en los directorios que queramos restringir.

Read More “Restringir el acceso a directorios mediante Apache”

|

Crear página de mantenimiento

fontanero_bloglines.jpg ¿Conocéis al fontanero de Bloglines?.

Cuando queremos realizar un mantenimiento de nuestra página web, a veces, lo que menos nos interesa es que la gente acceda a contenidos. Por ello se suele crear una página de mantenimiento, informando que ahora está inactivo el sistema y que volverá a estarlo en la mayor brevedad posible. Para poder configurar nuestro servidor Apache es necesario crearnos un archivo .htaccess que deberemos poner en el directorio raiz, si este ya existe, nos creamos el archivo con un nombre diferente, por ejemplo .htaccess_mantenimiento. Durante el mantenimiento es cuando tiene que estar el archivo o renombrar el original y el de mantenimiento. El contenido del nuevo archivo .htaccess deberá ser el siguiente:

RedirectMatch /*[^url-pagina-mantenimiento] url-pagina-mantenimiento

Un ejemplo sería:

RedirectMatch /*[^/mantenimiento.html] /mantenimiento.html

Con esto conseguimos redirigir todas las direcciones (/*) menos la página de mantenimiento ([^/mantenimiento.html]) a la página de mantenimiento.