Manual básico de Apache mod_rewrite

Tal como dice en la documentación de PHP, el módulo mod_rewrite es la auténtica navaja suiza de la manipulación de URLs.
Esta librería nos permite hacer desde simples redirecciones entre páginas a complejas reescrituras de URLs de nuestros sitios web. Para su utilización es recomendable tener conocimientos básicos en expresiones regulares.

Redirección básica:

Imaginemos la siguiente situación. Hemos creado una página web llamada lista.html pero queremos que los visitantes que escriban listado.html o directorio.html vean igualmente la página lista.html. Se presentan dos alternativas:

a) La solución cutre. Crear las páginas directorio y listado y dentro de ellas hacer una redirección con Javascript al estilo location.href="lista.html".

b) La solución ideal. Hacer una redirección mediante mod_rewrite especificando unas sencillas instrucciones en el famoso archivo .htaccess que se debe guardar en la misma carpeta donde se aloja lista.html. El servidor Apache traducirá ‘listado’ y ‘directorio’ por ‘lista’ sin tener que crear dichas páginas y su correspondiente redirección.


RewriteEngine on
RewriteRule ^(listado|directorio).html$ lista.html [R]

Básicamente, la sintaxis es:
RewriteRule patron sustituto [opciones]

[opciones]
r -> Mensaje Forbiden 403.
L -> Last rule, si tiene exito no ejecutar las siguientes reglas.
R[=code] -> Redirección.
NC -> No case(no distingue mayúsculas de minúsculas).

Explicación:
– “^(listado|directorio)”: nombre de URL que empiece por listado o directorio.
– “.html$”: que termine en “.html”.

Pasar de dirección estática a dirección dinámica:


RewriteEngine on
RewriteRule ^colores/([0-9]+)/([0-9]+)/([0-9]+).php$ colores.php?red=$1&green=$2&blue=$3

Donde ([0-9]+)/ significa 1 o más caracteres numéricos seguido de una barra.

Con esta regla conseguiríamos pasar de una URL desagradable como:

colores.php?red=50&green=20&blue=100

a una URL mucho más elegante:

colores/50/20/100.php

Hotlinking:

O cómo evitar que nos roben contenidos y ancho de banda linkando directamente nuestros recursos desde otros sitios web.


RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?midominio.com/.*$ [NC]
RewriteRule \.(gif|jpg|png)$ - [F,L]

Explicación:
– El signo ‘!’ significa negación, con lo que decimos que si el REFERER es diferente de nuestro dominio no permitimos enlazar archivos gif, jpg o png.
– (www\.)? indica que puede o no haber ‘www.’ en el nombre de nuestro dominio.
– El signo ‘-’ hará que no redirija a la vez que [F] hará que se muestre un mensaje de error. Normalmente se redirige a otra imagen de advertencia de que se está haciendo hotlinking, pero eso también nos hace perder ancho de banda.
– HTTP_REERER es una variable del servidor que nos dice el valor de la URL que solicita el recurso de nuestro servidor.

Instalar PDFlib en servidor web Linux con Plesk

Las funciones PDF en PHP pueden crear archivos PDF utilizando la librería PDFlib creada por Thomas Merz.

Para instalarlar en un servidor con Plesk hacemos lo siguiente.

Descargamos la libreria pdflib y el módulo pdf.so para «conectar» la libreria con el servidor php 😀

Descargamos e instalamos la libreria PDFlib en el servidor

root@server# wget http://www.pdflib.com/binaries/PDFlib/703/PDFlib-Lite-7.0.3.tar.gz
root@server#  tar xvzf PDFlib-Lite-7.0.3.tar.gz
root@server#  cd PDFlib-Lite-7.0.3
root@server#  ./configure --prefix=$HOME/usr --without-java
root@server#  make
root@server#  make install

install php-pear using

yum install php-pear

root@server#  pecl download pdflib
root@server#  tar xvzf pdflib-*.tgz
root@server#  cd pdflib-*
root@server#  phpize
root@server#  ./configure --with-pdflib=$HOME/usr
root@server#  make
root@server#  make test
make install

Con estos pasos ya solo nos queda agregar pdf.so en el fichero de configuración de php /etc/php.ini
Reiniciaimos Apache y ya lo tienes¡¡¡

Usar HTC Magic como modem en tan solo 7 pasos con PdaNet

Antes de empezar nos descargamos el SDK Android y el software PdaNet

http://www.junefabrics.com/android/index.php

Preparación

  1. Instalamos los drivers de la HTC MAGIC
  2. Conectamos la HTC MAGIC via USB al ordenador
  3. Nos aseguramos de que tenemos marcada la opcion USB DEBUGGING (Ajustes-Aplicaciones-Desarrollo de aplicaciones)
  4. Instalamos PdaNet

    Usar htc magic como modem en tan solo 7 pasos con pdanet
  5. Iniciamos PdaNet en nuestra HTC Magic.

    Usar htc magic como modem en tan solo 7 pasos con pdanet
  6. En el ordenador nos vamos a la barra de tareas y clicamos encima de el icono de PdaNet y le damos a Connect.

    Usar htc magic como modem en tan solo 7 pasos con pdanet
  7. En ese momento nos saldra un mensaje como el siguiente y ya podremos navegar por internet con nuestro ordenador usando nuestra HTC Magic como modem

    Usar htc magic como modem en tan solo 7 pasos con pdanet

Fuente: Gracias a Genson por el comentario http://www.koala-studio.com/jessie.wang.com/blogs/setup-htc-magic-3g-modem

Nota: no lo he probado esta nueva forma, si alguien lo prueba y le funciona bien y sin cortes que lo diga en los comentarios, un saludo amigos 😀

Usar el movil como modem via bluetooth en Ubuntu

Aqui os voy a dejar unos sencillos pasos para usar el movil como modem conectandolo via bluetooth en Ubuntu

Antes de empezar, descargué los paquetes:

sudo apt-get install bluez-utils ppp wvdial

Editamos el archivo

hcid.conf

Para configurar nuestro dispositivo Bluetooth (da igual si es un dispositivo externo USB bluetooth o uno que venga integrado con la laptop o notebook, como en mi caso):

sudo gedit /etc/bluetooth/hcid.conf

El contenido del archivo debería ser similar a éste:

options {
autoinit yes;
security auto;
pairing multi;
passkey «0000»;
}
device {
name «mi-laptopl»;
class 0x3e0100;
iscan enable; pscan enable;
discovto 0;
lm accept;
lp rswitch,hold,sniff,park;
}

Continuar leyendo «Usar el movil como modem via bluetooth en Ubuntu»

Replicación y ditribución de carga de MySQL

Replicación es la copia sincronizada entre dos o más servidores de bases de datos, de forma de que cualquiera de ellos puede entregar los mismos resultados a sus clientes. Se basa en un esquema «maestro-esclavos», en el que el maestro mantiene la base de datos original y los esclavos las copias.

El funcionamiento es el siguiente: los servidores esclavos se conectan al maestro para consultar sus logs y asg mantenerse informados de las operaciones de modificación que ha realizado (insert, delete, update, …) para a su vez poder realizarlas también ellos y mantener una replica exacta de la base de datos del servidor maestro. Los servidores esclavos sólo sirven para consultas.

Esto nos proporciona:

  • Replica automática de los datos en máquinas remotas.

  • Balanceo de la carga (de las consultas).

  • Alta disponibilidad mediante redundancia de servidores.
  • Si cae el maestro

  • Copias de seguridad en esclavos sin interrumpir maestro.
Continuar leyendo «Replicación y ditribución de carga de MySQL»