Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: soru13 en 29 Julio 2012, 21:04 pm



Título: duda mod rewrite
Publicado por: soru13 en 29 Julio 2012, 21:04 pm
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

Código:
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!


Título: Re: duda mod rewrite
Publicado por: sexto en 30 Julio 2012, 09:17 am
Prueba:
Código:
Rewriterule ^anuncios/(.+)/(.+) /anuncios.php?m=$1&ciudad=$2


Título: Re: duda mod rewrite
Publicado por: soru13 en 30 Julio 2012, 14:28 pm
Ocurre exactamente lo mismo.


Título: Re: duda mod rewrite
Publicado por: sexto en 30 Julio 2012, 14:48 pm
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?


Título: Re: duda mod rewrite
Publicado por: soru13 en 30 Julio 2012, 19:56 pm
tanto las rutas de CSS como de imágenes son relativas, también algunos includes en php y archivos .js


Título: Re: duda mod rewrite
Publicado por: sexto en 31 Julio 2012, 09:10 am
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:
Código:
$base = 'http://foro.elhacker.net/';
Aunque yo uso el modelo MVC así que realmente es
Código:
$config->set('base') = 'http://foro.elhacker.net/';
Pero vamos, el primer caso sirve.
Y luego en un js por ejemplo pones:
Código:
<script type="..." src="<?php echo $base; ?>"></script>

Eso es lo que hago YO.