Имеется штекер:
/.htaccess
RewriteEngine on
RewriteCond %{HTTPS}_%{HTTP_HOST} ^(?|off_(?:www\.)?(.*)|on_www\.(.*)) [NC]
RewriteRule .* https://%1/$0 [R=301,L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{DOCUMENT_ROOT}/public/$0 !-f
RewriteCond %{DOCUMENT_ROOT}/public/$0 !-d
RewriteRule .* /public/index.php?$0 [L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule .* /public/$0 [L]
Суть его - убрать возможность дубля по адресам примерно такого вида:
1. site/controller
2. site/public/controller
То есть во втором случае с public, мы не имеем доступа к controller, так как контроллером становится public :)
Что не устраивает?
При вводе адреса
site/publiс/ всё нормально, при вводе
site/public как видим БЕЗ слеша, то адрес дописывается и принимает следующий вид
site/public/?public.
Я не использую явные GET-параметры, поэтому думаю отрежу-ка я QUERY_STRING, переписал вот это строчку
RewriteRule .* /public/index.php?$0 [L] на
RewriteRule .* /public/index.php [L], трабла с
?public исчезла, но теперь при вводе без слеша или со слешем всегда имеем
site/publiс/, то есть последний слеш появляется всегда.
Как убрать появление слеша в конце, ЕСЛИ ВВЁЛ АДРЕС БЕЗ ПОСЛЕДНЕГО СЛЕША?
p.s. последний слеш появляется всегда, ТОЛЬКО ПРИ АДРЕСЕ
/site/public, других адресов не касается.