Archive for the ‘apache’ Category
Condiciones en mod_rewrite para la redirección
El denominado mod_rewrite es el módulo para el servidor web Apache que permite a nuestro servidor el uso de enlaces semánticos también denominados enlaces limpios o permalinks, por ejemplo:
http://www.dedavid.com/area/Aplicaciones+web/Programa+de+facturacion
en lugar de :
http://www.dedavid.com/?area=12&_id=244
Condiciones y excepciones para la redirección
Ahora bien, en ciertas ocasiones podemos necesitar lo utilizar ciertas excepciones. Por ejemplo cuando partiendo de un dominio queremos tener dos específicos, donde nos interesa redireccionar al nuevo dominio sólo cuando se consulta determinada página o cuando la URL contiene ciertos parámetros.
En los siguientes trozos de código definimos excepciones para que no se ejecute un redireccionamiento si se cumple la condición.
Este código que debe introducirse, al igual que todas las reglas y reescrituras deseadas en el fichero .htaccess que debe hallarse en la raíz de tu servidor web.
Ejemplos de redirección por llamada a fichero html y por valor de variable en la URL
Vamos con el primero donde si la página llamada es programas-facturacion.html direccionamos al dominio invOOice.com
RewriteCond %{REQUEST_URI} =/programas-facturacion.html
RewriteRule ^(.*)$ http://invOOice.com/$1 [R=301]
En la condición puedes utilizar los típicos comparadores aritméticos “=” para condicionar si es igual o “!=” para que se cumpla la redirección si no es igual.
Vamos ahora a por la segunda excepción, en este casi mirando la URL en lugar del nombre del archivo al que se llama, esto nos servirá para condicionar comportamiento atendiedo a las variables que contenga la URL:
RewriteCond %{QUERY_STRING} =21
RewriteRule ^(.*)$ http://invOOice.com/$1 [R=301]
Crear el fichero .htaccess en un servidor Windows
Cómo curiosidad y apunte comentaremos que si bien este tipo de archivos .htaccess es fácil crearlo bajo entornos Linux, existe una gran dificultad para su creación en sistemas operativos Windows porque no permiten crear archivos sin nombres ya que Windows entiende que .htaccess es únicamente un tipo de archivo o extensión, así que si tu servidor web es Windows deberás crearlo utilizando la siguiene triquiñuela, un comando de PHP que nos generará el archivo, luego para editarlo con un editor como Notepad++ (programa gratuito) será suficiente:
<?php
touch('.htaccess');
?>
Posicionamiento en buscadores
Por último y no menos importante recalcar el gran valor que representa el uso de enlaces limpios en el posicionamiento en internet, a modo de ejemplo podemos citar que en la web de cablematic.com, cliente al que le proporcionamos servicio de posicionamiento hemos conseguido un incremento del 50% en el volumen de visitas tras el uso de este sistema de enlaces en su tienda online.
Asignar el mismo valor a varias variables
Hoy hemos descubierto como asignar el mismo valor a un número determinado de variables de una tacada, estando en pleno proceso de desarrollo de una nueva verisón del carrito de la compra para nuestro sistema de tiendas online ecOOmmerce.com teníamos el siguiente código que corresponde a la asignación de datos de cliente para un pedido:
$address_name =
$address_address =
$address_cp =
$address_city =
$Saddress_location =
$Saddress_country_code =
$order_address =
$Saddress_name =
$Saddress_address =
$Saddress_cp =
$Saddress_city =
$days_delayed =
$expireOrderDate =
$creatorUser = ‘ecOOmmerce.com’;
Si te fijas las variables aún están definidas, pues algunas son fruto de un cálculo y teníamos que desarrollar el código, sin querer hemos grabado el archivo así, y al realizar un recargar en el navegador para ver el resultado donde pensábamos que apache nos iba a tirar un error de PHP por no tener esas variables definidas a excepción de la última PHP ha asumido que todas tienen el valor ecOOmmerce.com, el valor de la última, así amigos ya sabeis, para hacer una multideclaración de variables en PHP podeis utilizar este método, muy curioso, por cierto PHP 5 y Apache 2:
$variable1 =
$variable2 =
.
.
.
$variableN = ‘mismo valor”
Países más Spammers del planeta (tierra)
Bueno aquí tenemos una nueva curiosidad, la lista con los países de mayor producción de spam del planeta, los enlaces te llevarán a la página web original de donde se han extraído los datos, en estos enlaces puedes incluso obtener un fichero. htacces con el que podrás bloquear dichos accesos, si bien no sabemos si estos ficheros prohíben todo el tráfico sistemáticamente o tan sólo contienen los rangos de los orígenes de los ataques con SPAM. Así que nuevamente “protegiendo que es gerundio”
Es curioso a la vez que revelador observar como además de china donde obviamente el imponente número de habitantes influye, incluso a pesar de que la mayoría de su población es rural y por tanto con dudoso acceso a la red, la mayoría de los países que figuran son países en vías de desarrollo, tales como la India o Brasil. Si bien el spam esstá mal visto quizá sin querer hacer apología del mismo tiene su clara contrasprestación económica traduciendo en resultados, por aquello de que si anuncio a 1.000.000 de personas de que vendo tonterías seguro que el porcentaje de conversion de personas a tontos no es del todo despreciable.
| País | CIDR | Netmask | IP Range | .htaccess deny |
|---|---|---|---|---|
| China | CIDR | Netmask | IP Range | .htaccess deny |
| Vietnam | CIDR | Netmask | IP Range | .htaccess deny |
| Corea | CIDR | Netmask | IP Range | .htaccess deny |
| India | CIDR | Netmask | IP Range | .htaccess deny |
| Rusia | CIDR | Netmask | IP Range | .htaccess deny |
| Turquía | CIDR | Netmask | IP Range | .htaccess deny |
| Ucrania | CIDR | Netmask | IP Range | .htaccess deny |
| Brasil | CIDR | Netmask | IP Range | .htaccess deny |
| Estados Unidos | CIDR | Netmask | IP Range | .htaccess deny |
Esta lista ha sido extraída de: http://www.countryipblocks.net/information/top-ten-global-spammers/
