Hola,
he conseguido reescribir las direcciones de mis páginas con el mod rewrite, pero me encuentro ante un problema que intuyo tiene que ser de fácil solución.
Lo coloco en el foro de php porque no tengo claro (no creo) que sea problema del .htaccess y el servidor, sino más bien de hacer algo de parte de php.
Lo que he hecho es lo siguiente:
He creado un directorio llamado /s/ y dentro he colocado el archivo s.php y el nuevo .htaccess.
En casi toda la documentación que he leído, el .htaccess debía estar en un nivel superior a la página que se iba a reescribir. En este caso, lo coloqué todo al mismo nivel y me funciona.
El código del .htaccess es:
Cita: Options +FollowSymLinks
RewriteEngine On
RewriteRule ^s-(.*)/p-(.*)\.html$ /s.php?c=$1&p=$2
RewriteRule ^s-(.*)/a-(.*)\.html$ /s.php?c=$1&a=$2
Rewriterule ^s-(.*)\.html$ s.php?c=$1
... de forma que reescribe ...
Cita: s-categoria/p-pagina.html a /s.php?c=categoria&p=pagina
s-categoria/a-articulo.html a /s.php?c=categoria&a=articulo
s-categoria.html a /s.php?c=categoria
El archivo s.php lo he programado para que ponga los enlaces así:
Cita: <a href="s-categoria/p-pagina.html">Título categoría</a>
<a href="s-categoria/a-articulo.html">Título página</a>
<a href="s-categoria.html">Titulo categoría</a>
Ahora bien, me encuentro con dos problemas:
-El primero es que no encuentra el *.css(está en la carpeta /s/)
-El segundo, es que una vez cargada la página, los enlaces que escribe no son del tipo s-categoria/a-articulo.html(como programé en el s.php) sino s-categoria/s.php?c=categoria&a=articulo
Lo podéis comprobar con estas dos direcciones:
Reescrita:
http://www.innatia.com/s/s-henna/a-historia.html (no carga el *.css y escribe mal las url (ej:
http://www.innatia.com/s/s-henna/s.p...nna&a=historia )
La misma sin reescribir:
http://www.innatia.com/s/s.php?c=henna&a=historia (carga el *.css y escribe bien las url: (ej:
http://www.innatia.com/s/s-henna.html )
¿A qué se puede deber este error?
¿Tal vez hay que hacer algo del lado de php?
Gracias,