Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Apache (http://www.forosdelweb.com/f58/)
-   -   Cambiar direccion - Ejemplo: contacto.php/ por contacto/ (http://www.forosdelweb.com/f58/cambiar-direccion-ejemplo-contacto-php-por-contacto-587547/)

salbatore 18/05/2008 11:32

Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Hola, foreros:

Este es mi primer mensaje en el foro de Apache. He visto algun que otro mensaje sobre el tema, tambien he visto algo parecido en FAQ, pero no se mucho de Apache.

En mi web las paginas tienen extension .php . Lo que busco es ocultar la extension de mis archivos php. Por ejemplo:

El boton enviar direcciona a contacto.php. Cuando clicas en la barra de direcciones muestra:

www.miweb.com/contacto

En realidad deberia ser:

www.miweb.com/contacto.php

¿Sabeis como ocultar la extension?, y no me digan que lo meta en una carpeta llamada contacto y llame index al archivo, jeje.

¿Como lo hago?

aloqui 18/05/2008 11:45

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Si tienes varias paginas similares, en el directorio raiz y quieres ocultar la extension en todas ellas, puedes insertar lo siguiente en el fichero .htaccess

Código:

RewriteEngine on
RewriteRule  ^(.+)$          /$1.php  [L]

Esto lo que hace es instruir a Apache para que cada vez que reciba un URL haga como si hubiera recibido esa misma url pero con la extension .php al final.
Ten en cuenta, que si tienes subdirectorios, etc, la regla se va a a aplicar igual. Si no quieres hacer el cambio cuando hay subdirectorios, la regla que he puesto no vale, y habría que utilizar otra.

Si por en contrario quieres hacer el cambio solo para la página contacto.php, la regla sería así:
Código:

RewriteEngine on
RewriteRule  ^contacto$          /contacto.php  [L]


salbatore 18/05/2008 13:12

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Hola de nuevo:

Lo he probado pero no me funciona niguno de los codigos que me has escrito Aloqui. Lo he copiado en un .htaccess dentro del servidor, y lo que ocurre es que me da un error de pagina no encontrada escribiendo cualquier cosa, con o sin .php .

¿QUE HAGO?

aloqui 18/05/2008 15:18

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Si usas el segundo ejemplo (solo para la página contacto), cuando escribes en el navegador:
www.miweb.com/contacto. Dices que te da error de página no encontrada.
¿ Cual es la página que no encuentra ?. Hay que fijarse en esos detalles puede son los que ayudan a determinar que es lo que está pasando: si no está haciendo ninguna redirección, si la redirección es errónea, etc.

argy 31/05/2008 13:13

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
prueba con este

Cita:

RewriteEngine On
RewiteBase /
RewriteRule ^contacto$ /contacto.php [L]
La segunda linea es la carpeta base donde está tu web, ejemplo en el localhost podés tener tu web en la carpeta miweb, entonces / cambias por /miweb/, en caso de que lo tengas en un hosting lo más lógico será que esté en la raíz, además si haz utilizado direcciones relativas para las imágenes,hacer referencias a los css y javascripts, entonces utiliza la etiqueta base antes de estas referencias, caso de haber utilizado direcciones absolutas no es necesario.


Nota: la tercera línea es cuando quieres convertir solo contacto.php si quieres hacerlo todas tus páginas entonces será^([a-zA-Z0-9]+)$, con esto digo que solo aceptaré direcciones que contengan letras (May y Min) números.

espero te sirva

punk567 31/05/2008 18:52

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
buenas, tengo problema similar, que me llevo a este post, quisiera renombrar un achivo /rss.xml , se puede renombrar a /rss/ ? ( o sea cuando entran a /rss/ vean el contenido de /rss.xml )

escribi esto en el .htaccess pero no funcionó

RewriteEngine On
RewiteBase /
RewriteRule ^rss$ /rss.xml [L]

saludos

00siete 01/06/2008 01:38

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Creo que lo que pasa es que tienes dos errores:
- En la regla no has incluido la barra del final.
- Has puesto RewiteBase en lugar de RewriteBase

Prueba lo siguiente:

Código:

RewriteEngine On
RewriteBase /
RewriteRule ^rss\/$ /rss.xml [L]

Y si te sigue sin funcionar, dinos cual es el error que te da: "error 404 de /rss/", "Error 501", etc.

punk567 01/06/2008 03:29

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
OOsiete, muchas gracias

copié esto en el .htaccess

RewriteEngine On
RewriteBase /blog/
RewriteRule ^rss\/$ /rss.xml [L]

la direccion /blog/rss/ muestra un error 404......

00siete 01/06/2008 03:47

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
Yo nunca he utilizado un RewriteBase distinto de "/" por lo que no estoy seguro, pero creo que usar "RewriteBase /blog/" se usaría para cuando estás definiendo un fichero .htaccess de un subdirectorio determinado y su nombre fisico no coincide con el de la URL (en tu caso el subdirectorio blog).

Yo creo que en tu caso no lo necesitas, prueba ésto:

Código:

RewriteEngine On
RewriteBase /
RewriteRule ^blog\/rss\/$ /rss.xml [L]

Creo que incluso la linea del RewriteBase tampoco la necesitas.

punk567 01/06/2008 15:17

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
hola,
pegué esto en el .htaccess que esta en la raíz del dominio,

RewriteEngine On
RewriteRule ^blog\/rss\/$ blog/rss.xml [L]

con estas variantes:
RewriteRule ^blog\/rss\/$ /blog/rss.xml [L]
RewriteRule ^blog\/rss\/$ http://dominio/blog/rss.xml [L]

pero no hay suerte : (

j_aroche 02/06/2008 16:21

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
y en /blog/ no hay algún .htaccess que capture la uri /blog/rss/ ?

punk567 02/06/2008 20:52

Respuesta: Cambiar direccion - Ejemplo: contacto.php/ por contacto/
 
hola j_aroche, gracias por la respuesta,,,

encontré esta solución:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^rss/?$ /blog/rss.xml [L]

creo que faltaba el signo de ? solamente

Saludos


La zona horaria es GMT -6. Ahora son las 19:06.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.