2013-06-13 1 views
0

우리는 수년 동안 서버 측 포함을 사용하고있는 페이지가 있습니다. 최근에는 작동이 멈췄습니다. 어떤 변화가 contact.html서버 측 포함이 더 이상 작동하지 않는 것 같습니다 - "[이 지시문을 처리하는 중에 오류가 발생했습니다"]

'nav.include'페이지는 단순히 탐색 모음에 대한 HTML을 포함라는 페이지 하단 페이지

<!--#include virtual="..\..\includes\nav.include" --> 

변경 사항이 없습니다. 아니 자바 스크립트. 서버 측 스크립팅이 없습니다. 그냥 HTML.

SSI가 여기 구현 된 방식으로 작동하도록 설정해야하는 설정이 있습니까 (HTML 파일 내에 흔치 않은 확장명을 가진 파일 포함)?

답변

1

어제 발견 한 해결책 : 나는 중복

  1. 내가 모든 {< #을 교체 한
  2. 에 .php 내 모든 페이지를 (단지의 경우 원래의 HTML 파일을 유지!) 이름 = 가상 "폴더 _/file_name.ext"를 포함 - 도트의 적절한 수와

    <?php include "folder_name/file_name.ext" ; ?> 
    

    과를>} 및 페이지 내 폴더 계층 구조에있는 위치에 따라 슬래시. 의 index.php가 index.html을 대신 집어되도록 나는 다른 이름으로 원래의 index.html을 개명, 마지막으로

  3. 합니다 (는 {} 위의 코드 만을 표시하는 것입니다)

이것은 제대로 작동하는 것 같습니다. 나는 여전히 모든 페이지와 링크를 테스트 중입니다. 매우 지루하고 시간이 많이 걸리는 운동입니다!

구문을 포함한다 : "..."PHP 파일에서

HTML 파일 사용의 번호를

<!--#include virtual="../folder_name/file_name.ext" --> 

실험에서

<?php include "..//folder_name/file_name.ext" ; ?> 

를 사용하여 "수 ///"올바른 조합을 얻으려면 위의 구문에서 !!!!

  1. 나를 위해, 모든 내 포함은 웹 루트 바로 아래에있는 폴더 ABC의 작은 html 파일입니다.
  2. ABC의 형제 폴더 아래에있는 페이지, 즉 웹 루트 바로 아래에있는 다른 폴더에서 "..//"는 작동하는 점 및 슬래시의 수입니다.
  3. 웹 루트에 직접있는 페이지 (즉, 웹 루트의 폴더가 아님)의 경우 점 또는 슬래시가없는 folder_name/file_name.ext가 작동했습니다.
  4. 나는 계층의 다른 레벨에 필요한 점과 대시의 수를 체크 할 시간이 없었다!

이 정보가 도움이되기를 바랍니다.

+0

내 페이지를 PHP로 변환하고 PHP를 사용하는 것을 고려해 봤지만 상당수의 페이지를 가지고 있습니다. 또한 .php로 수많은 페이지를 변경하는 것은 꽤 많은 페이지로 연결되는 링크를 모두 변경해야합니다. 모래밭. 내가 수행 한 작업은 기존 사이트의 루트에 저장된 htaccess 파일을 사용하여 모든 페이지를 새로운 랙 공간 호스트 사이트로 전달하는 것입니다. 답변 해 주셔서 감사 드리며 귀하의 솔루션이 다른 사람들에게 도움이 될 것이라고 확신합니다. :) – MrVimes

1

GoDaddy를 사용하고 있습니까? 그들은 내 사이트에 동일한 작업을 수행했으며 포럼에서 include include 대신 include 파일을 사용한다고 말한 사람이있었습니다.

+0

예, GoDaddy와 마찬가지로, #을 제거 수정이

<!--#My awesome documentatacion--> 

같은 코드를 HTML 문서에있을 때 – MrVimes

0

모든 확장자를 PHP로 변환 할 파일이 너무 많았 기 때문에 가능하면 다른 답변을 찾아야했습니다.

나를 위해 잠시 동안 include virtualinclude file으로 교환하는 것이 도움이되는 것처럼 보였지만 며칠 후 다시 부러졌다. 나는 GoDaddy가 SSI 설정으로 원숭이를 끝내지 않고 있다고 생각한다.

솔루션 O_O, 오늘 밤으로, 사이트 루트에 관해서 절대 사양에 모든 상대 경로를 변환하는 것이 었습니다.

<!--#include virtual="..\..\includes\nav.html" --> 

사람 : 예를 들어, 내가 변환했다

<!--#include virtual="\includes\nav.html" --> 

이 방법을 사용하여, 나는 다른 HTML 파일 내부에 HTML 파일을 포함 할 수 있었다.

내 페이지 중 하나에서 절대 경로와 상대 경로를 섞어서 발견했습니다.

내에서 GoDaddy에 자주이 문제를 보게되었습니다

+0

참조 : http://support.godaddy.com/groups/web-hosting/forum/topic/ssi-server-side-include-conditional-expressions-not-working/ – Trevor

0

HTH 사이트를 호스팅. 서버 구성 페이지로 이동하여 SSI를 비활성화하고 설정을 저장 한 다음 SSI를 다시 활성화하고 ".HTM 및 .HTML 파일에 SSI 사용"을 선택해야합니다.

문제는 GoDaddy 's Tier-2 지원은 파일에서 Include 명령 대신 Virtual을 사용하는 것이 좋을 것이라고 제안합니다 ... 이것은 터무니없는 것입니다. SSI는 일을 잘 바꿀뿐만 아니라 대부분의 경우 시간을 잘 잡아줍니다 ....

0

또한 이전 .html 페이지를 .php로 업데이트하고 일부는 [이 지시문을 처리하는 동안 오류가 발생했습니다] 페이지 중 일부가 표시되면 php include 문과 함께 모든 페이지에 문이 있습니다.

오류를 표시하는 페이지는 가리키는 디렉토리에도없는 이전 .ssi 파일을 참조했습니다. 이전 include 코드를 해당 페이지의 존재하지 않는 .ssi 파일에 삭제하고 오류를 수정했습니다.

1

그냥 Godaddy 서버로 전환하면 SSI가 작동하지 않습니다. 다음,

AddHandler에 서버 구문 분석 내가 대중 HTML 폴더에 업로드

.HTML은 .htaccess로 이름을 변경하고, 모든 일을 시작 : 나는 다음과 .txt 파일을했다. 당신이이

<!-- My awesome documentatacion--> 
0

이 오류

가 발생합니다. 저는 그들과 함께 사건을 열었으며 기술자들을 해결할 것이라고 말했습니다. 나는 그 (것)들에게서 후에 들리지 않았다. 문제의 사이트를 퇴직시키고 랙 공간에서 호스팅하는 사이트로 바꾸기 위해 내가 이것을 기회로 사용했기 때문에 지금은 저에게 이상합니다.나는 그것이 잘못되었던 날에 '가상'을 '파일'로 바꾸려고했지만, 이것이 효과가 없었습니다.
관련 문제