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

mod_rewrite solo reescribe correctamente despues del archivo index

Estas en el tema de mod_rewrite solo reescribe correctamente despues del archivo index en el foro de Apache en Foros del Web. Hola, Se que es un tema recurrente en el foro pero no he logrado dar con la solucion a este problema entre los cientos de ...
  #1 (permalink)  
Antiguo 30/05/2012, 09:45
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 16 años, 5 meses
Puntos: 11
mod_rewrite solo reescribe correctamente despues del archivo index

Hola,

Se que es un tema recurrente en el foro pero no he logrado dar con la solucion a este problema entre los cientos de posts sobre mod_rewrite que hay.

El caso es que estoy empezando a crear mis propias URLs personalizadas me encuentro con el problema de que solo puedo acceder a ellas si la URL aparece despues del archivo index, por ejemplo, este es mi .htaccess:

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteBase /fashionbidtv/web/
RewriteRule index\.html index.php [NC]
RewriteRule ^([^/.]+)/([^/.]+)(?:/)?$ /showcat.php?catname=$1&url=$2 [L]
Y luego tengo una BDD en MySQL con la tabla que contiene el nombre del articulo (catname) y la URL personalizada para que se pueda editar manualmente (url)

Pero si intento acceder a alguno de estos enlaces:

ERROR 404
Código:
http://localhost/fashionbidtv/web/shoes/buy-cheap-shoes.html
FUNCIONA
Código:
http://localhost/fashionbidtv/web/index.html/shoes/buy-cheap-shoes.html
Como veis, solo carga la pagina si coloco la regla tras el index.html/index.php.

Alguien sabe a que se debe?

Gracias!

Última edición por miwelillo; 30/05/2012 a las 09:56
  #2 (permalink)  
Antiguo 30/05/2012, 10:05
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: mod_rewrite solo reescribe correctamente despues del archivo index

Añado que, me acabo de dar cuenta de que no es que funcione, es que sencillamente el link

Código:
http://localhost/fashionbidtv/web/index.html/shoes/buy-cheap-shoes.html
Me devuelve el index.php y no la pagina showcat.php y el apache_error.log me arroja el siguiente error:

Código:
[Wed May 30 18:03:47 2012] 
[error] [client 127.0.0.1] File does not exist: /Applications/MAMP/htdocs/fashionbidtv/web/shoes, referer: http://localhost/fashionbidtv/web/index.html
  #3 (permalink)  
Antiguo 31/05/2012, 10:19
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 16 años, 5 meses
Puntos: 11
Respuesta: mod_rewrite solo reescribe correctamente despues del archivo index

Bueno, voy avanzando. Resulta que si pongo esto:

Cita:
Rewriterule ^(.*)/(.*)/(.*)/(.*)/(.*)$ $1.php?$2=$3&$4=$5
y creo los links del tipo:

Código:
<a href="showcat/catname/shoes/url/buy-cheap-shoes.html">Shoes</a>
funciona perfectamente, pero en cuanto intento modificarlo para acortarlo un poco, por ejemplo:

Código:
Rewriterule ^showcat/(.*)/(.*)$ showcat.php?catname=$1&$url=$2
Rewriterule ^(.*)/(.*)/(.*)$ $1.php?catname=$2&$url=$3
Se fastidia todo y deja de funcionar

Etiquetas: correctamente, htaccess, index, rewrite, url
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 01:25.