duda mod rewrite

Iniciado por soru13, 29 Julio 2012, 21:04 PM

0 Miembros y 1 Visitante están viendo este tema.

soru13

Hola, tengo una paqueña duda con el mod rewrite de apache.

Por ejemplo, quiero cambiar esta dirección:

anuncios.php?m=1&ciudad=Barcelona

Y me gustaría que quedase así:

http://www.miweb.com/anuncios/1/barcelona/

Para ello, segun leí en varios tutoriales, sería así el archivo .htaccess


RewriteEngine On
Rewriterule ^anuncios/(.+)/(.+) anuncios.php?m=$1&ciudad=$2


Así funciona, me carga la página, pero el problema es que no me carga ni los CSS, ni ninguna imágen, porque debe pensar que el archivo anuncios.php se encuentra en la carpeta anuncios/1/barcelona

¿Cual es el problema?

Gracias y un saludo!

sexto

Prueba:
Rewriterule ^anuncios/(.+)/(.+) /anuncios.php?m=$1&ciudad=$2


sexto

Joder, es que a mi me pasó lo mismo pero no recuerdo como lo solucioné.
Luego busco el proyecto que creo que era y miro a ver...

De todas formas, si haces un inspeccionar elemento o ver código fuente, ¿que ruta te pone en el CSS?

soru13

tanto las rutas de CSS como de imágenes son relativas, también algunos includes en php y archivos .js

sexto

Los includes no pasa nada si son rutas relativas, pero los css, las imágenes y los JS los podrías poner absolutas...

Yo lo que suelo hacer es crear en mi archivo de configuración una variable llamada $base con el directorio base, es decir, en este foro sería algo así como:
$base = 'http://foro.elhacker.net/';
Aunque yo uso el modelo MVC así que realmente es
$config->set('base') = 'http://foro.elhacker.net/';
Pero vamos, el primer caso sirve.
Y luego en un js por ejemplo pones:
<script type="..." src="<?php echo $base?>"></script>

Eso es lo que hago YO.