No Apache, como desativar o DirectorySlash apenas para solicitações para um subdomínio específico?

No Apache, como desativar o DirectorySlash apenas para solicitações para um subdomínio específico?

Servido pelo Apache eu gostariaumsite de subdomínio meu (digamos sub.mydomain.com) que URLssemas barras finais apontam diretamente (sem redirecionamento externo) para o arquivo de índice na pasta subjacente. As solicitações de subdomínio são redirecionadas internamente para uma subpasta. Todos os outros URLS devem funcionar da maneira normal do Apache com redirecionamento externo para a versão reduzida.

Todas as diretivas devem estar no meu arquivo .htaccess. Para que isso funcione, estou planejando fazer o seguinte:

  1. Desligue DirectorySlashpara solicitações desub.mydomain.com/...
  2. Reescreva as sub.mydomain.com/…solicitações para/sub/...
  3. Reescreva URLs de diretório sem barra para /sub/...buscar index.htmldentro do diretório subjacente

Tenho uma boa ideia de como fazer 2. e 3., mas como posso emitirDirectorySlash off apenas para pedidos desub.mydomain.com, mas não para www.mydomain.comou other.mydomain.com?

Responder1

Pelo que parece, seu subsubdomínio é mapeado para o mesmo diretório do domínio principal e de todos os outros subdomínios ( wwwe other, etc.)

No entanto, se todas as solicitações ao subsubdomínio forem reescritas internamente no/sub subdiretóriopresumivelmente, você pode simplesmente criar outro .htaccessem /sub/.htaccessque você definiu DirectorySlash Off- isso se aplica a todas as solicitações ao subsubdomínio. (Supondo que você também não acesse o mesmo subdiretório por meio de um nome de host diferente. Você pode evitar isso, se desejar.)

O /sub/.htaccessarquivo também é onde você implementaria o número 3 em seus requisitos.

O arquivo raiz .htaccesssimplesmente reescreve todas as solicitações do subsubdomínio no /subsubdiretório.


Aparte:Como você está fazendo esta pergunta no ServerFault, geralmente presume-se que você tenha controle total do servidor. Nesse caso, seria preferível configurar este subsubdomínio em seu próprio contêiner vHost que aponta diretamente para o /subsubdiretório (ou em algum lugar fora da árvore de diretórios dos domínios principais, de preferência). Nesse caso, você não precisaria implementar o número 2 de seus requisitos e apenas configurar DirectorySlash Offpara todo o subdomínio.

informação relacionada