AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 915135
Accepted
theillien
theillien
Asked: 2018-06-05 10:06:51 +0800 CST2018-06-05 10:06:51 +0800 CST 2018-06-05 10:06:51 +0800 CST

Precedência de configuração do Apache

  • 772

Se eu definir uma opção de configuração em httpd.confque não seja usada novamente em nenhum de nossos vhosts, ela terá efeito para cada um dos vhosts ou cada um precisará ter a opção configurada?

Especificamente, quero definir as opções RewriteLoge RewriteLogLevel. Infelizmente, temos muito mais configurações de vhost do que é sensato, portanto, definir essa opção em cada arquivo e validar seria um aborrecimento no momento em que precisa ser implantado (não me faça começar no gerenciamento de configuração). Então, se eu configurá-lo httpd.confe me certificar de que não está em nenhuma das configurações do vhost, ele se aplicará a todos os vhosts?

httpd.conf
  • 1 1 respostas
  • 220 Views

1 respostas

  • Voted
  1. Best Answer
    Justin Pearce
    2018-06-05T12:03:42+08:002018-06-05T12:03:42+08:00

    De acordo com a documentação do Apache, as seções de configuração são mescladas na seguinte ordem:

    1. <Directory>(exceto expressões regulares) e .htaccess feito simultaneamente (com .htaccess, se permitido, substituindo <Directory>)
    2. <DirectoryMatch>(e <Directory "~">)
    3. <Files>e <FilesMatch>feito simultaneamente
    4. <Location>e <LocationMatch>feito simultaneamente
    5. <If>

    Algumas observações importantes:

    • Além de <Directory>, dentro de cada grupo as seções são processadas na ordem em que aparecem nos arquivos de configuração. Por exemplo, uma solicitação para /foo corresponderá <Location "/foo/bar">e <Location "/foo">(grupo 4 neste caso): ambas as seções serão avaliadas, mas na ordem em que aparecem nos arquivos de configuração.
    • <Directory>(grupo 1 acima) é processado na ordem do componente de diretório mais curto para o mais longo. Por exemplo, <Directory "/var/web/dir">será processado antes <Directory "/var/web/dir/subdir">de .
    • Se várias <Directory>seções se aplicarem ao mesmo diretório, elas serão processadas na ordem do arquivo de configuração.
    • As configurações incluídas por meio da diretiva Include serão tratadas como se estivessem dentro do arquivo de inclusão no local da diretiva Include.
    • As seções dentro <VirtualHost>das seções são aplicadas após as seções correspondentes fora da definição do host virtual. Isso permite que os hosts virtuais substituam a configuração do servidor principal.
    • Quando a solicitação é atendida pelo mod_proxy, o contêiner toma o lugar do <Directory>contêiner na ordem de processamento.

    Por exemplo, o seguinte será aplicado na ordem A > B > C > D > E:

    <Location "/">
        E
    </Location>
    
    <Files "f.html">
        D
    </Files>
    
    <VirtualHost *>
        <Directory "/a/b">
            B
        </Directory>
    </VirtualHost>
    
    <DirectoryMatch "^.*b$">
        C
    </DirectoryMatch>
    
    <Directory "/a/b">
        A
    </Directory>
    

    Mais informações podem ser encontradas na documentação: https://httpd.apache.org/docs/2.4/sections.html

    Editar:

    Diretivas como <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>, <Location>, <LocationMatch>, e <VirtualHost>simplesmente limitam o escopo das diretivas que elas incluem, portanto, aplicar uma <IfModule>diretiva à área global do arquivo a aplicará globalmente.

    Se você estiver tentando substituir mod_rewrite, você pode considerar alavancar uma RewriteOptionsdiretiva definida como InheritDown. Isso fará com que todas as configurações filhas herdem as configurações do escopo pai e é equivalente a colocar RewriteOptions Inheritem cada escopo filho.

    <IfModule mod_rewrite.c>
        RewriteOptions InheritDown
        RewriteLog [some setting here]
        RewriteLogLevel [somesettinghere]
    </IfModule>
    

    Colocar isso globalmente aplicaria suas opções de registro a cada escopo filho.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve