Подтвердить что ты не робот

Удалить трейлинг-косую черту с использованием .htaccess, кроме домашней/целевой страницы

Я успешно изменил свой файл .htaccess, чтобы удалить конечные косые черты на большинстве страниц, но мне интересно, как освободить мою домашнюю страницу/каталог? Например:

domain.com/test/успешно перенаправляется на домен .com/test

ОДНАКО, когда я ударил свой домен, он добавит корневой документ

domain.com/перенаправляется на domain.com/index.php

Есть ли условие, которое я могу добавить, чтобы игнорировать конечную косую черту root, чтобы она не пыталась удалить конечную косую черту и добавить мой default script? Вот что я до сих пор:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$  /$1 [R=301,L]
4b9b3361

Ответ 1

OK. После нескольких проб и ошибок я ответил на свой вопрос.

Третья строка означает, что в URI должно быть что-то, чтобы выполнить перенаправление, а не перенаправлять, если URL-адрес просто содержит начальную косую черту.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} (.*)$
RewriteRule ^(.+)/$ http://www.domain.com/$1 [R=301,L]

Ответ 2

Перенаправляет запрос для всех URL-адресов, заканчивающихся на /, за исключением корня:

RedirectMatch 301 ^(.+)/$ $1

Ответ 3

Как насчет

RewriteEngine On
RewriteRule ^(.*)/$ http://%{HTTP_HOST}/$1