Saludos a todos,
Les pido una pequeña ayuda, ya que estoy medio nuevo con estas rewrite tules tan complejas
Quiero convertir todas la URL amigables asi que todas las peticiones que no tienen slash se los agrego en el primer y segundo nivel
Código:
RewriteRule ^([_0-9a-z-]+)$ /$1/ [R]
RewriteRule ^([_0-9a-z-]+)/([_0-9a-z-]+)$ /$1/$2/ [R]
En mi sitio tengo archivos y directorios como
Código:
acerca-de.php
contacto.php
anuncios/
Como todas las direcciones que llegan terminan en slash yo pregunto si no es directorio debe ser un archivo asi que
Código:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([_0-9a-z-]+)/$ /$1.php [L]
por ejemplo misitio.com/acerca-de/.
Que pasa si es misitio.com/anuncios/, nada ya que no hay ninguna condicion para el y no tomara la primera que tiene la condicion SI NO ES DIRECTORIO
El problema viene cuando no es ninguno de los dos si no es un archivo ni un directorio, por ejemplo misitio.com/noticias/ y quiero invocar la direccion index.php?f=noticias con:
Código:
^([_0-9a-z-]+)/$ /index.php=f=$1 [L]
Pero no funciona al paracer el [L] de la primera condicion no frena al coincidir, les anexo el codigo completo
Gracias!!!
Código:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([_0-9a-z-]+)$ /$1/ [R]
RewriteRule ^([_0-9a-z-]+)/([_0-9a-z-]+)$ /$1/$2/ [R]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([_0-9a-z-]+)/$ /$1.php [L]
RewriteRule ^([_0-9a-z-]+)/([_0-9a-z-]+)/$ /$1/$2.php [L]
RewriteRule ^([_0-9a-z-]+)/$ /index.php=filter=$1 [L]
Gracias por cualquier ayuda