Apache를 실행하는 Debian에서 SSI를 작동 시키려고하지만 .shtml
파일이 구문 분석되지 않습니다. PHP 파일 phpinfo()
에서로드 된 모듈 섹션에 다음이 표시되는 것을 볼 수 있습니다.
mod_mime_xattr mod_mime mod_mime_magic
에서 /etc/apache2/mods-enabled/mime.conf
나는 (무엇보다도)이 있습니다
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
에서 /etc/apache2/sites-enabled/domain.com.conf
(문제의 가상 호스트에 대한) 내가 가진 :
<Directory /home/username/public_html>
Options +Includes
allow from all
AllowOverride All
</Directory>
그리고 좋은 측정을 위해 다음을 추가했습니다.
<Directory />
Options +Includes
</directory>
사용자 .htaccess
파일에서 다음을 추가하려고했습니다.
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
아무것도 작동하지 않는 것 같습니다. 이것을 어떻게 디버깅 할 수 있습니까?
편집하다:
ls /etc/apache2/mods-enabled/
이것이 도움이되는 경우 의 결과는 다음과 같습니다.
actions.conf dav_svn.load proxy_balancer.load
actions.load deflate.conf proxy.conf
alias.conf deflate.load proxy_connect.load
alias.load dir.conf proxy_http.load
auth_basic.load dir.load proxy.load
auth_digest.load env.load python.load
authn_file.load fcgid.conf reqtimeout.conf
authz_default.load fcgid.load reqtimeout.load
authz_groupfile.load mime.conf rewrite.load
authz_host.load mime.load ruby.load
authz_user.load mime_magic.conf setenvif.conf
autoindex.conf mime_magic.load setenvif.load
autoindex.load mime-xattr.load ssl.conf
cgi.load negotiation.conf ssl.load
dav_fs.conf negotiation.load status.conf
dav_fs.load php5.conf status.load
dav.load php5.load suexec.load
dav_svn.conf proxy_balancer.conf
답변
서버 측 포함을 작동 시키려면 include
모듈도로드해야합니다. 루트로 다음을 실행하여이를 수행 할 수 있습니다.
a2enmod include
또는 다음을 실행하십시오.
ln -s /etc/apache2/mods-available/include.conf /etc/apache2/mods-enabled/include.conf
ln -s /etc/apache2/mods-available/include.load /etc/apache2/mods-enabled/include.load
그런 다음 아파치를 다시 시작하십시오.
SSI를 .shtml
파일에 추가 .htaccess
했다면 그렇게 할 것 AddOutputFilter INCLUDES .shtml
입니다. 또는 .shtml
서버 측에서 구문 분석하려는 파일 유형을 대체 하십시오.
현재 데비안 설정 파일 /etc/apache2/mods-available/mime.conf
에는 다음을 추가한다는 오류가 있습니다.
<IfModule mod_mime.c>
[...]
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
[...]
</IfModule>
mod_include.c
로드 여부를 먼저 확인하지 않고 이 문제를 해결하기 위해 해당 줄을 다음과 같이 변경할 수 있습니다.
<IfModule mod_mime.c>
[...]
<IfModule mod_include.c>
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule>
[...]
</IfModule>
<IfModule>
태그는 중첩 될 수 있습니다. mod_include.c
로드되지 않은 이벤트에서 발생하는 오류 메시지를 제거합니다 .