2011-08-03 8 views
1

나는 비영리 단체를위한 웹 사이트를 관리하고 있습니다. 나는이 웹 사이트를 디자인 한 사람이 아니며, 나는 그 사람을 알지 못한다.PHP에서 http 헤더 사이트 추가하기

즉, IE9에 문제가 있습니다. 나는 결국 그것을 고치려고 노력할 것이지만, 단지 X-UA-Compatible 헤더를 추가하기 만하면 IE9가 IE8 모드로 바뀌어 잘 작동 할 것이다.

asp.net 웹 사이트에서 IIS7을 사용하여 <customHeaders> 요소가있는 web.config에 추가 할 것입니다.

모든 파일을 편집하지 않고 PHP 웹 사이트의 모든 파일에 대해이 헤더를 보내는 방법이 있습니까?

답변

3

아파치 MOD_HEADERS의 루트 htaccess로 파일

<FilesMatch "\.(php|cgi|pl|htm)$"> 
    Header set X-UA-Compatible IE=EmulateIE8 
</FilesMatch> 

이 모든 PHP, HTML, Perl과 CGI 파일의 HTTP 헤더에 해당 헤더를 설정합니다 다음을 추가,하지만 난 아주 나쁜 경험이 있었다 x-ua 헤더와 함께, 그리고 그것이 항상 작동하지 않는 것으로 나타났습니다.

+0

x-ua 헤더 정보는 localhost 또는 로컬 네트워크에있을 때 고려되지 않을 수 있음을 알고 있습니다. FilesMatch의 문자열이 정규 표현식입니까? "그 중 하나의 확장자로 끝나는 것"을 의미합니까? – Johnny5

+0

예, 해당 엔딩 중 하나가있는 파일 이름입니다. –

1

auto_prepend_fileheader() 또는 웹 서버에서 예 : Header.

+0

php.ini의'auto_prepend_file' 파일이 필요한 것 같습니다. 내 루트 폴더에 php.ini 파일을 놓아 서버의 파일과 병합 할 수 있습니까? – Johnny5

+0

이 헤더는 모든 PHP 페이지와이 특정 웹 사이트에없는 PHP 페이지 (서버 설정에 따라 다름)를 포함하여 보낼 수 있습니다. – webbiedave

+0

@ Johnny5 : 일반적으로 없습니다. 이 작업을 수행하는 방법은 사용되는 SAPI에 따라 다릅니다. –

0

템플릿 엔진을 사용하는 경우 템플릿의 HEAD 섹션에 < 메타 http-equiv = "X-UA 호환"content = "IE = EmulateIE8"/ >을 추가하면됩니다.).

그렇지 않으면 어디에서나 하나의 PHP 파일을 포함하는 경우 header() 호출을 추가 할 수 있습니다 (내용을 출력하기 전이라면).