Quitar .php en 1and1

oFF-sIDE

Hola gente.

Resulta que estoy tratando de eliminar la extensión .php de las páginas de una web para que aparezcan del estilo:

www.miweb.com/contacto

en lugar de:

www.miweb.com/contacto.php

El caso es que he probado con el htaccess de mil formas y no consigo nada de nada. He visto ejemplos de cómo renombrar .html a .php y funcionan, pero no he visto a NADIE que le funcione lo que yo quiero hacer.

Lo último que he probado, sin éxito, es lo que vi en un blog:

#La primera linea es la que hace la magia 
Options -MultiViews
RewriteBase /
RewriteEngine On

#Ejemplo: Eliminar la extension .php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php [L,QSA]

¿Alguno de vosotros lo ha conseguido?

lebroN

Me parece que yo una vez lo hice creando una carpeta por ejemplo llamada contacto, y dentro de esa carpeta el index que seria lo que tu quieres mostrar. Al hacer miweb.com/contacto te buscaria el index se supone.. Lo hice hace mucho asi que si no funciona.. xD

1 respuesta
eXtreM3

http://www.mediavida.com/foro/9/htaccess-y-1and1-420558

Solved!

En resumen, por si no te quieres leer el hilo: elimina la linea 9 de tu htaccess

Edito: bueno y por supuesto añadir la regla

RewriteRule ^contacto$ contacto.php
1 respuesta
oFF-sIDE

#2 Lo había pensado pero me parece una forma un poco chunga de hacerlo y lo había dejado como última opción.
#3 No me funciona del todo bien. He hecho lo que comentas y usando vínculos internos de la web se sigue mostrando el .php, pero ahora puedo entrar en www.miweb.com/contacto sin necesidad del escribir el ".php" Era esto a lo que te referías? O tengo que cambiar la regla:

RewriteRule contacto$ contacto.php

por:

RewriteRule contacto.php$ contacto??

Otra opción es cambiar todos los href de la web quitándole la extensión... pero me da cosita xD

EDIT: No he podido aguantarlo y he acabado quitándole las extensiones a los enlaces y ya está xD

1 respuesta
eXtreM3

#4 claro, es que ahora tienes que cambiar los enlaces.

Si quieres ir a contacto, todos los <a href> deben ir a "contacto" asecas, sin el .php, lo mismo para todos los demás enlaces.

Digamos, para que lo entiendas mejor, que tú vas a tener una dirección destino, que es nueva, pues todos los enlaces que vayan a dicha dirección tienen que estar marcados como tal ;)

1 respuesta
oFF-sIDE

#5 Muchas gracias ;) Además detrás de cada rewriterule he puesto un [NC] para que no tenga en cuenta las mayusculas :)

Usuarios habituales

  • oFF-sIDE
  • eXtreM3
  • lebroN