Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/10/2005, 16:09
Avatar de tyo100
tyo100
 
Fecha de Ingreso: febrero-2005
Ubicación: Monterrey, NL
Mensajes: 475
Antigüedad: 19 años, 3 meses
Puntos: 1
Reescribir las URL (mod_rewrite)

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.
__________________
Desde la tierra de los nopales, las tortillas de maiz, y en cuya ciudad se encuenta el cerro de la silla.
NalgAss Web
SpiderMex - La Historia del Hombre Araña en MEXICO