Apache .htaccess após configurar o RewriteEngine On,site aparece 403 Proibido

用 Joomla 4 Construir um novo site,Depois de ativar o SEO e a reescrita de URL,Problema com o site,A princípio, o Google para seu próprio artigo - "reescrita URL Joomla 404 não pode ser exibida",Principalmente porque o AllowOverride do httpd.conf não está definido como All。Mas depois desse tempo,Tornou-se 403 Proibido,E todas as páginas não podem entrar,Independentemente de o URL da página ser usado para reescrever,pesquisou por horas,Finalmente encontrei a razão。

 

Para usar a reescrita de URL,Os seguintes valores de configuração precisam ser definidos:

1. Apache – LoadModule rewrite_module
2. Apache – Opções FollowSymLinks
3. Apache – Permitir substituir tudo
4. .htaccess – Rewrite Engine On

 

E meu problema é que os quatro acima foram definidos,卻出現 403 Proibido,entre 2. 跟 3. Eu tentei tanto no httpd.conf quanto no httpd-ahssl.conf。

 

A fim de simplificar o ambiente de teste para esclarecer o problema,Deixei apenas a linha RewriteEngine On no meu .htaccess,e coloque o arquivo no diretório raiz htdocs。Faça também um arquivo test.php,segue,Basta exibir as informações do ambiente php,Este arquivo também é colocado no diretório raiz htdocs。

<?php
phpinfo();
?>

 

Ao navegar em http://abc.com/test.php,também aparecem 403 Proibido,Ao consultar o error.log do Apache,Você pode ver erros como este:

As opções FollowSymLinks e SymLinksIfOwnerMatch estão ambas desativadas, portanto, a diretiva RewriteRule também é proibida devido à sua capacidade semelhante de contornar as restrições de diretório : C:/Web/Apache24/htdocs/test.php

 

Portanto, o escopo do problema pode ser reduzido ao parâmetro FollowSymLinks。Depois de confirmar que o httpd.conf está configurado corretamente FollowSymLinks,Comecei a revisar e comparar as diferenças do httpd.conf entre os sites antigos e novos um por um。Mais tarde notei que o novo site estava referenciando httpd-ahssl.conf exceto na parte SSL (Incluir conf/extra/httpd-ahssl.conf) fora do perfil,A parte FastCGI também faz referência ao httpd-fcgid.conf externo (Incluir conf/extra/httpd-fcgid.conf) perfil,Ou seja, as configurações do meu site antigo estão todas em httpd.conf,Mas o novo site usa três perfis(httpd.conf、httpd-ahssl.conf、httpd-fcgid.conf)。onde httpd.conf e httpd-ahssl.conf eu tentei,Portanto, o cerne do problema deve estar em httpd-fcgid.conf。

 

Abra httpd-fcgid.conf,Em Encontre opções na parte inferior,A predefinição tem apenas um parâmetro ExecCGI,Depois de adicionar FollowSymLinks,reinicie o Apache,problema finalmente resolvido。

 

[Links]

3 Respostas

  1. Anonymous Diz |

    É FortiGate 50E 6.2.10 ao melhor?

    https://it-help.tips/fortigate-firmware-download/

    Ajuda!

  2. Anonymous Diz |

    É FortiGate 50E 6.2.10 ao melhor?

    Yes.

    Anson Responder |

Deixe um comentário

Por favor, note: Comentário moderação é ativado e pode atrasar o seu comentário. Não há necessidade de reenviar o seu comentário.