Как на Apache отключить DirectorySlash только для запросов к определенному поддомену?

Как на Apache отключить DirectorySlash только для запросов к определенному поддомену?

Обслуживается Apache Я хотел бы наодинподдомен моего сайта (скажем sub.mydomain.com), URL-адреса которогобезКонечные слеши указывают напрямую (без внешнего перенаправления) на файл индекса в базовой папке. Запросы поддоменов внутренне перенаправляются в подпапку. Все остальные URL должны работать обычным способом Apache с внешним перенаправлением на версию с косой чертой.

Все директивы должны быть в моем файле .htaccess. Чтобы это заработало, я планирую сделать следующее:

  1. Отключить DirectorySlashдля запросовsub.mydomain.com/...
  2. Перепишите sub.mydomain.com/…запросы на/sub/...
  3. Перепишите URL-адреса каталогов без косой черты, чтобы /sub/...получить доступ к index.htmlвнутренней части базового каталога

У меня есть хорошая идея, как сделать 2. и 3., но как мне выдатьDirectorySlash off только для запросовsub.mydomain.com, но не к www.mydomain.comили other.mydomain.com?

решение1

Судя по всему, ваш subподдомен отображается в том же каталоге, что и основной домен и все остальные поддомены ( wwwи otherи т. д.).

Однако, если все запросы к subподдомену внутренне переписываются на/sub подкаталогто вы, вероятно, можете просто создать еще один .htaccessat /sub/.htaccess, в котором вы установите DirectorySlash Off- это затем будет применяться ко всем запросам к subподдомену. (Предполагая, что вы также не обращаетесь к тому же подкаталогу через другое имя хоста. Вы можете предотвратить это, если хотите.)

В этом /sub/.htaccessфайле вы также реализуете пункт 3 своих требований.

Корневой .htaccessфайл просто перезаписывает все запросы к subподдомену в /subподкаталог.


В стороне:Поскольку вы задаете этот вопрос на ServerFault, обычно предполагается, что у вас есть полный контроль над сервером. В этом случае предпочтительнее настроить этот subподдомен в его собственном контейнере vHost, который указывает непосредственно на /subподкаталог (или куда-то за пределами основного дерева каталогов доменов в идеале). В этом случае вам не нужно будет реализовывать #2 ваших требований, и вы просто установите DirectorySlash Offдля всего поддомена.

Связанный контент