Приветствую!
Имеем, скажем, такую структуру сайта на Bitrix:
<a href="http://site.ru/poezda">Поезда</a>
<a href="http://site.ru/poezda/poezd1">Поезд 1</a>
<a href="http://site.ru/poezda/poezd2">Поезд 2</a>
<a href="http://site.ru/kontakty">Контакты</a>
<!-- В конце ссылок нет слешей -->
При переходе по первой (Поезда) или последней (Контакты) ссылкам в конец адресной строки добавляется слеш, т.е. получается http://site.ru/poezda/ или http://site.ru/kontakty/ соответственно.
Я так понимаю это происходит из-за того, что это "Разделы" (Папки, которые содержат файлы .section.php и index.php)
Подскажите пожалуйста, как избавиться от этих слешей в конце?
P.S. Файл .htaccess стандартный, содержит эти строки для роутинга:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
UPD:
при добавлении правила в urlwrite.php ничего не поменялось :(
$arUrlRewrite = array(
array(
"CONDITION" => "#^/poezda#",
"PATH" => "/poezda/index.php",
)
);
в CONDITION пробовал указывать различные вариации, такие как #^/poezda#, #^/poezda, /poezda и пр.
UPD 2
При попытке добавить файл (а не раздел) и описать правило - слеш всё равно добавился в конце. Как побороть это правило?
В Битриксе для управления путями есть (как видно из .htaccess) файл /bitrix/urlrewrite.php, но вот в чем загвоздка, одно дело вы хотите создать маршруты которых нет (виртуальные) и тогда отсутствие слеша обосновано, но когда вы реальной директории пытаетесь его убрать тут возникает вопрос, зачем ?
RewriteRule ^(.*)/?$ /bitrix/urlrewrite.php [L]
Если проблема в обработке - то добавить возможный слеш в правила Rewrite
Если в эстетике - правка urlrewrite.php
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости