Foros del Web » Administración de Sistemas » Apache »

Urls amigables

Estas en el tema de Urls amigables en el foro de Apache en Foros del Web. Buenas, soy un novato total en lo que configuración del .htaccess se refiere. Hoy dispongo de un dominio en el cual, si se accesa hoy ...
  #1 (permalink)  
Antiguo 23/07/2013, 15:02
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 7 meses
Puntos: 26
Urls amigables

Buenas, soy un novato total en lo que configuración del .htaccess se refiere.

Hoy dispongo de un dominio en el cual, si se accesa hoy por hoy redirige a dominio.com.ar/construct/.

Pero tengo otra carpeta, dominio.com.ar/owner/, protegida con clave donde esta el proyecto web en si. Es para que el cliente vaya viendo los avances.

El proyecto consta de 5 páginas (inicio,nosotros,contacto,fotos,servicios). Las tres primeras no tienen nada raro, pero para servicios y fotos utilizo parametros en la URL.

Por ejemplo:
Cita:
dominio.com.ar/owner/servicios.php?servicio=un_servicio
dominio.com.ar/owner/fotos.php?pagina=1
Lo que busco es lograr ocultar la extension php de la url:
Cita:
dominio.com.ar/owner/index
dominio.com.ar/owner/contacto
dominio.com.ar/owner/nosotros
Y a su vez limpiar un poco los parametros URL de la siguiente forma:
Cita:
dominio.com.ar/owner/servicios/un_servicio
dominio.com.ar/owner/fotos/1
A priori, logré este .htacces:
Código Apache:
Ver original
  1. Options -Indexes
  2. Options -Multiviews
  3.  
  4. RewriteEngine on
  5.  
  6. # Ocultar extension php
  7. RewriteCond %{REQUEST_FILENAME}\.php -f
  8. RewriteRule ^(.*)$ $1.php
  9.  
  10. # Url amigable
  11. RewriteBase /
  12. Rewriterule ^owner/servicios/(.+)/$ owner/servicios.php?servicio=$1

Funciona más o menos. Las extensiones quedan ocultas, pero hay algunos detalles:

1) Si acceso a contact,index o nosotros sin barra final (dominio/owner/xxxx) funciona, en cambio si lo acceso con la barra final (dominio/owner/xxx/) falla con error interno (500).

2) Servicios funciona bien con este patron "dominio/owner/servicios/servicio_uno/", pero el valor que toma $_GET['servicio'] es: "servicio_uno/.php/servicio_uno". A su vez, si le acceso sin la barra final tira error 500.

Alguna idea ?.

Etiquetas: amigables, htacces, htaccess, php, url, urls
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:28.