Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2013, 08:18
rbczgz
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Conflicto de dos reglas en .htaccess

Hola amig@s,

Tengo un problema con un .htaccess, lo que pretendo es ocultar la extensión del archivo (en este caso .php) por hacerla más corta y fácil de cambiar si fuera el caso, pero además, pretendo redirigir si acceden sin www, al dominio con www, el código que tengo es el siguiente:

Código .htaccess:
Ver original
  1. RewriteEngine on
  2.  
  3. #Quitar extensión .php
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME}\.php -f
  6. RewriteRule ^(.*)$ $1.php
  7.  
  8. #Forzar a que siempre se incluya www al acceder al sitio
  9. RewriteCond %{HTTP_HOST} ^dominio\.com$ [NC]
  10. RewriteRule ^(.*)/?$ http://www.dominio.com/$1 [L,R=301]
  11.  
  12. #Aquí tengo la gestión de las páginas de error pero no lo pongo que ocupa mucho.

El problema está en que, si accedes sin www, añade la extensión al archivo además de las www, así:

dominio.com/pagina redirige a www.dominio.com/pagina.php

Lo que debería hacer es:

dominio.com/pagina redirige a www.dominio.com/pagina

Agradecería mucho si alguien me pudiera echar un cable explicándome qué error tengo y cómo resolverlo.

Añado que no consigo acabar de aclararme con los .htaccess, me voy defendiendo pero no termino de entenderlos, más que nada también por las expresiones regulares que por más que las estudio, no acabo de entenderlas.

Ya sé que hay varios post aquí sobre las expresiones regulares y os aseguro que los he leído y releído un montón de veces, pero debe de ser que tengo la cabeza muy dura...

Bueno, espero que alguien me pueda echar un cable.

Muchas gracias por adelantado.

Última edición por rbczgz; 30/12/2013 a las 09:38 Razón: Faltaba información de lo que hace el código