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!
Prueba:
Rewriterule ^anuncios/(.+)/(.+) /anuncios.php?m=$1&ciudad=$2
Ocurre exactamente lo mismo.
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?
tanto las rutas de CSS como de imágenes son relativas, también algunos includes en php y archivos .js
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.