Trailer slash à la fin du bogue URL .htaccess

Mon problème est que lorsque je $_GET['decode'] http://example.com/admin/ cela fonctionne bien, $_GET['decode'] contient des informations correctes et je peux les $_GET['decode'] . Mais lorsque j’entre dans http://example.com/admin (sans barre oblique), mon URL redirige vers http://example.com/admin/?decode=admin et tout est falsifié. Quelqu’un pourrait-il m’aider?

Voici mon .htaccess :

 RewriteEngine on Options +FollowSymlinks  Order Allow,Deny Deny from all  Header set X-UA-Compatible "IE=Edge,chrome=1" RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L] RewriteCond %{REQUEST_URI} !(/$|\.) RewriteRule (.*) %{REQUEST_URI}/ [R=301,L] RewriteRule ^([^\.]+)$ ./index.php?decode=$1 [L,QSA] php_value date.timezone "Europe/Bratislava" 

C’est parce que mod_dir ajoute une barre oblique dans l’URI du répertoire ( /admin ) après que votre dernière règle ait été exécutée par mod_rewrite .

Essayez ce code:

 DirectorySlash Off RewriteEngine on Options +FollowSymlinks  Order Allow,Deny Deny from all  Header set X-UA-Compatible "IE=Edge,chrome=1" RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^ http://%1%{REQUEST_URI} [R=301,NE,L] ## Adding a trailing slash RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{THE_REQUEST} \s/+(.*?)[^/][?\s] RewriteRule [^/]$ %{REQUEST_URI}/ [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/?$ ./index.php?decode=$1 [L,QSA] php_value date.timezone "Europe/Bratislava"