Pues aqui ayudando a la causa
Tema:
Reescribir las URL (mod_rewrite)
Pregunta:
¿Que es y para que sirve? ¿Ejemplos Basicos?
Respuesta:
mod_rewrite es un modulo de apache que sirve para reescribir las direcciones, por ejemplo tenemos un link asi:
dominio.com/categorias.php?nombre=nombre-de-la-categoria
en ocaciones es muy dificil recordar este tipo de direcciones, con mod_rewrite podremos configurar algo como:
dominio.com/nombre-de-la-categoria/
Como se haria, se pueden especificar en el fichero .htaccess o directamente en el archivo de configuracion de Apache
RewriteEngine ON
RewriteRule ^([A-Za-z0-9-]+)/?$ categorias.php?nombre=$1 [L]
En mod_rewrite podemos manejar variables del servidor se utilizan asi:
%{NOMBRE_DE_LA_VARIABLE}
Las variables que yo conozco son(no se que es cada una, si alguien sabe mandenlo para ir actualizando):
HTTP_USER_AGENT Informacion sobre el cliente.
HTTP_REFERER HTTP_COOKIE Cookie recibida desde el cliente
HTTP_FORWARDED URL Enviada
HTTP_HOST Nombre del host donde esta Apache
HTTP_PROXY_CONNECTION Informacion sobre la conexion del proxy.
HTTP_ACCEPT REMOTE_ADDR IP del Cliente
REMOTE_HOST Nombre del host del cliente
REMOTE_USER Nombre del usuario autentificado en Apache
REMOTE_IDENT REQUEST_METHOD Metodo de solicitud HTTP utilizado.
SCRIPT_FILENAME Ruta fisica del script.
PATH_INFO QUERY_STRING Datos de consulta enviados
AUTH_TYPE Tipo de autentificacion.
DOCUMENT_ROOT Es el directorio raiz donde corre apache
SERVER_NAME Nombre del servidor en el host.
SERVER_ADMIN SERVER_ADDR SERVER_PORT Puerto en el que escucha Apache
SERVER_PROTOCOL Version del protocolo HTTP que usa Apache
SERVER_SOFTWARE SERVER_VERSION Version del Apache
TIME_YEAR Año actual
TIME_MON Mes actual
TIME_DAY Dia actual
TIME_HOUR Hora actual
TIME_MIN Minuto actual
TIME_SEC Segunto actual
TIME_WDAY Dia de la semana
TIME API_VERSION THE_REQUEST REQUEST_URI URI Solicitado.
REQUEST_FILENAME igual que SCRIPT_FILENAME
IS_SUBREQ
Como se utilizan??
Bueno por ejemplo queremos evitar que desde otra pagina linken las imagenes(robo de imagenes)
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://subdominio.servidor.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://servidordeunamigo.com/.*$ [NC]
RewriteRule .*\.(gif|GIF|jpe?g|JPE?G|png|PNG)$
http://servidor.com/nolink.gif [R]
Bueno esto solo es introductorio.