Я использую .htaccess для перенаправления кучи URI, чтобы удалить конечный слэши и служит домашней странице конкретного сайта я работаю, используя следующие правила:Отключить DirectorySlash для одной папки в .htaccess
RewriteEngine ON
# for homepage section URIs, redirect to remove trailing slash
RedirectMatch 301 ^(/?)(hero|night|entertainment|ticket-info|sponsors|charities|work|committee)/$ $1$2
# serve homepage
RewriteRule ^/?(hero|night|entertainment|ticket-info|sponsors|charities|work|committee)$ index.html [L]
Однако, есть также папка под названием ticket-info
, и я хочу, чтобы иметь возможность обслуживать файлы оттуда, например /ticket-info/img.jpg/или билет-инфо/купить/
Apache автоматически при добавлении в отстающей косой чертой и попыткой обслуживать индекс каталога. Я хочу отключить это поведение только для/ticket-info и/ticket-info/routes (но поддерживаю поведение по умолчанию для любых других файлов в этом каталоге и для остальной части сайта). Я попытался сделать это, добавив следующее правило, но он возвращает внутреннюю ошибку сервера.
# don't add slash even if directory exists
<Location /ticket-info/>
DirectorySlash Off
SetHandler some-handler
</Location>
Каких правил нужно добавить, чтобы отключить добавление косых черт только для этого маршрута, но сохранить поведение по умолчанию везде?
не будет, но Я не хочу, чтобы какое-либо решение помешало мне обслуживать такие файлы. –
ticket-info - это не каталог? Если это не так, то mod_dir не тот, который добавляет конечную косую черту –
@JonLin - это каталог - вот в чем проблема: «есть также папка с именем ticket-info, и я хочу иметь возможность подавать файлы оттуда» –