Estoy usando un archivo .htaccess para dirigir las solicitudes de un directorio a un archivo php personalizado que proporcione información sobre ese directorio (y quiero que la URL que muestra el navegador no cambie).mod_rewrite: agregar una barra al final?
Aquí está la parte relevante del archivo .htaccess.
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
Esto funciona bien si vas a un directorio e incluyen una barra final:
http://domain.com/path/
Pero sin la barra final, no
http://domain.com/path
hace la dirección URL (mostrado en el navegador) se convierte en:
http://localhost:8888/path/?url=/path
He intentado fijar esto añadiendo una regla por encima de esta regla:
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
Pero eso no funciona para mí.
¿Cómo puedo obtener .htaccess para agregar la barra al final si se omite y luego actuar como si hubiera estado allí?
Gracias
Actualización: a lo solicitado, aquí es todo el asunto.
<IfModule mod_rewrite.c>
RewriteEngine On
#force trailing slashes on real directories
RewriteCond %{REQUEST_FILENAME} -D
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [L]
#use the directory viewer on directories without an index page
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ /myphp.php?url=%{REQUEST_URI} [QSA,L]
</IfModule>
Con base en el comportamiento que describes Creo que hay algo malo en otra parte de su archivo '.htaccess', ¿le importaría publicar todo? –