Foros del Web » Administración de Sistemas » Apache »

Mod rewrite y preg_martch

Estas en el tema de Mod rewrite y preg_martch en el foro de Apache en Foros del Web. Buenos días, estoy intentando hacer unas modificaciones a un siito con las URLs amigables. pero no he sido capaz. quiciera ver si me pueden hacer ...
  #1 (permalink)  
Antiguo 01/08/2012, 09:39
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Mod rewrite y preg_martch

Buenos días, estoy intentando hacer unas modificaciones a un siito con las URLs amigables. pero no he sido capaz. quiciera ver si me pueden hacer el favor de ayudarme.

.htaccess

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule ^(.*) procesa\.php?cadena=$1 [QSA]
En el proces.php tengo lo siguiente:
Código PHP:
$cadena = (isset($_GET['cadena']))?$_GET['cadena']:'';
$cadena = ($_GET['cadena']!='')?$_GET['cadena']:'';
//Establecemos los diferentes patrones como reglas mod_rewire
//
$patron_detalle "/^([a-zA-Z0-9-_]+)\/([a-zA-Z0-9-_]+)\.html$/";
$urlconfig['ruta_plantilla'] = 'plantillas/';

if(
$cadena == ""){
require(
$urlconfig['ruta_plantilla'] . "index.php");
}elseif(
preg_match($patron_detalle$cadena,$resultado)>0){
require(
$urlconfig['ruta_plantilla'] . "plantilla.html");

EL problema que tengo es que obviamente las imagenes, CSS y demás archivos estan siendo interpretados con proces.php

¿que puedo hacer?
de antemano muchas gracias!
__________________
SEO en Medellin
  #2 (permalink)  
Antiguo 01/08/2012, 21:17
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mod rewrite y preg_martch

Si usas

Código Apache:
Ver original
  1. RewriteRule ^(.*) procesa\.php?cadena=$1 [QSA]

(.*) representa cualquier cosa, por lo que deberías diferenciarlo, que archivos debe procesar la regla?
por ejemplo si solo se aplicase a los php

Código Apache:
Ver original
  1. RewriteRule ^(.*)\.php procesa.php?cadena=$1 [QSA]

ó usar un prefijo

Código Apache:
Ver original
  1. RewriteRule ^prefijo/(.*) procesa.php?cadena=$1 [QSA]

Por otra parte, en rewriteRule la primera expresion es un patron de una regEx en tanto la segunda es la ruta al archivo de destino, por lo que el \. está demás
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 02/08/2012, 14:42
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 21 años
Puntos: 24
Respuesta: Mod rewrite y preg_martch

hoal gracias el asunto lo tengo ya mas o menos claro pero tengo varias dudas.

como hago con el apache para que cuando entren al dominio, por ejemplo:

www.midominio.com

se procese la información con procesa1.php

y cuando entren a una interna:
www.midominio.com/interna.html

se procese la información con procesa2.php

saludos, y gracias.
__________________
SEO en Medellin
  #4 (permalink)  
Antiguo 02/08/2012, 15:42
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Mod rewrite y preg_martch

Con algo así

Código Apache:
Ver original
  1. Options +FollowSymLinks
  2. DirectoryIndex procesa1.php
  3. RewriteEngine on
  4. RewriteCond %{REQUEST_URI} interna.html$
  5. RewriteRule ^(.*)$ /procesa2.php [L]

para procesa1 no hace falta mod_rewrite, si es tu index ahi debe dirigirse si se tipea solo el dominio, luego sí, para interna.html creas una regla

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: html, imagenes, mod, rewrite
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:23.