Почему идёт переадресация на адрес со слешем?

Сайт на MVC, с роутингом. Запрашиваю в браузере адрес:

audiophilesoft.local/software/audiophiles_software/foobar2000_by_audiophile


В роутинге должен сработать шаблон:

'/^\/(\w+)\/(\w+)\/(\w+)$/'

Но он не работает, потому что в массиве $_SERVER запрошенный URL отчего-то со слешем в конце:

/software/audiophiles_software/foobar2000_by_audiophile/


Причем автоподстановка этого слеша в конце почему-то работает не всегда, для другого адреса, просто с другим текстом в конце - может и не сработать.

Где порылась собака? Нужно, чтоб адреса со слешем и без чётко различались.

Вот .htaccess:

Options -Indexes +FollowSymLinks
DirectoryIndex index.php

AddDefaultCharset utf-8

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301]

ErrorDocument 404 /errors/404.html
ErrorDocument 403 /errors/403.html

RewriteCond %{REQUEST_URI} !\/errors\/
# TODO: Remove PHP here - it's only for testing!
RewriteCond %{REQUEST_URI} !\.(js|gif|jpg|png|css|txt|ico|php)$
RewriteRule .* index.php [L]
  • Вопрос задан
  • 185 просмотров
Пригласить эксперта
Ответы на вопрос 2
romy4
@romy4
Exception handler
DirectorySlash надо выключить
Ответ написан
allard
@allard
Серийный программист
DirectorySlash Off
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы