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 originalOptions -Indexes
Options -Multiviews
RewriteEngine on
# Ocultar extension php
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
# Url amigable
RewriteBase /
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 ?.