2009-07-14 6 views
0

더 짧고 멋진 URL을 가질 수 있도록 다시 쓰기 규칙을 설정하는 과정에서 일해 왔으며 매우 ajaxy 사이트가 있습니다.아파치 500 오류, 엔진 & 아약스 재 작성

서버에서 작업하는 다시 쓰기 규칙이 있고 페이지가 새로운 URL로로드되지만 모든 Ajax가 손상된 것 같습니다. 파이어 폭스가 500 오류를 알려줍니다.

페이지를 직접로드하려고하면 '500 오류'페이지가 표시되지 않지만 '3738'은 반환됩니다. 그러나 이것이 무엇을 의미하는지는 알 수 없습니다.

이가 깨진 이유는 내가 아무 생각이 없다, 그래서 아파치 로그를 확인하고,

 
GET /processes/format.php?output=queries HTTP/1.1" 500 33 

문제가 충분히 있는지 확인하십시오. 페이지가 있기 때문에 URL을 다시 쓰는 것이 문제일까요? 이

 
RewriteEngine On 
    RewriteCond %{REQUEST_URI} !\.(php|html|css|js|gif|png|jpe?g)$ 
    RewriteRule (.*)$ /index.php [L] 

----------------- 1 편집과 같은

내 재 작성 규칙은 -------------- 보인다 ---- 그래서 오류 로그가 있는데 오류가 rewriterule에 인식되지 않는 것 같습니다.

 init rewrite engine with requested uri /processes/format.php 
applying pattern '(.*)$' to uri '/processes/format.php' 
RewriteCond: input='/processes/format.php' pattern='!.(php|html|css|js|gif|png|jpe?g)$' => not-matched pass through /processes/format.php

그래서 재 작성 규칙에 오류가있는 것 같습니다!! .php 내가 틀린 로그를 읽지 않는다면 일치해야한다.

---------------- 편집 2 ------------------ 이 부분은 2 부분으로 표시 될 수 있습니다. . 1 부 JavaScript가 500 오류를로드 중입니다 2 부 페이지가 콘텐츠를 출력하지 않습니다. 페이지에 몇 개의 메아리가 삽입되었으며 URL을 검색 할 수 있습니다. 그 3738이 어디에서오고 있는지 확실하지 않습니다.

+0

로그에는 "일치하지 않음 => 통과했습니다"라는 메시지가 표시되므로 다시 쓰기 규칙이 적용되지 않기 때문에 오류를 일으키는 다시 쓰기가 아닐 수 있습니다. – Torandi

답변

2

오류 핀 도움이 될 몇 가지 단계 :

  • 당신이 JS를 사용하지 않고 format.php 페이지를 시도를?
  • 봅니다 다시 쓰기에 더 자세한 디버깅을하기 :

    RewriteLog이 /var/log/apache2/rewrite.log

    RewriteLogLevel 9 매우 장황 RewriteLogLevel 9

하고, 생산에 사용되지 않음

rewritelog에 대한 자세한 정보 : http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteLog

+0

예, JS가없는 페이지를 가져 오려고했습니다 (죄송합니다. 항목을 편집하고 어떻게 든 제거 했으므로 되돌릴 것입니다.) – pedalpete

+0

해당 로그 파일을 설정하고 출력을 첫 번째 주석에 넣으십시오. – pedalpete

0

CRAZY !!! 아직도/어떻게 이것이 내 테스트 서버에서 일어나고 있는지, 그리고 어떻게 진행될 것인가에 대해 매우 염려하지만 코드는 이제 & 테스트에서 작동합니다.

500 오류는 매우 오도하는 것 같습니다. 오류가 없었지만 페이지가 가져야하는 콘텐츠를 반환하지 않았습니다.

다음과 같은 현상이 발생합니다.

내가 얻으려고했던 링크는 format.php입니까?출력은 = 내가 변수 $ _GET [ '출력'] 가야한다, PHP와 지금

를 쿼리,하지만 나는 등과 같은 페이지를 사용, 그래서 몇몇을 위해이

 
if(!isset($output)){ 
[email protected]$_GET['output']; 
} 

를 사용 페이지가 새 창에서 검색되는 경우에도 내 테스트 서버 출력의 이유가 설정되었습니다. 어떻게 가능합니까? 그것은 단지 URL에있는 것입니다, PHP는 그것을 어떻게 할당하는지 어떻게 알 수 있습니까?

어쨌든 format.php를 사용하는 페이지에는 다른 곳에서는 사용하지 않는 변수가 있으므로 그 변수를 지금 확인합니다. 문제가 해결되었습니다.

일단 내가 그렇게하면 페이지가로드되고 방화 광은 아무것도 표시하지 않습니다. Firebug가 가까운 빈 페이지를 500 오류로 해석 한 이유는 무엇입니까?

+0

안녕하세요, 정확히 같은 문제가 생겼습니다. 어떻게 디버그 했나요? 내 http://cheernuts.com/widget_json.php?id=5_11593에 있습니다. – Vish