2012-03-04 4 views
1

현재 메인 웹 사이트 (표준 HTML)의 하위 디렉토리에 생성 된 Wordpress 사이트가 유증되었습니다. 그래서 나는이 :Wordpress 사이트에 리디렉션 영구적으로 404 및 500 오류가 있습니다.

http://www.company.com/ 주요 사이트 워드 프레스 사이트와

http://www.company.com/newsite/한다.

기본이되는 디렉토리 구조는 다음과 같습니다

/기업-COM/

/기업-COM/NewSite 사이트/다소 불편

이 (불필요한 말을하는)된다. 그러나이 구조를 변경하는 데는 여러 가지 이유로 인해 문제가 될 수 있으므로 가능하다면 계속 사용하고 싶습니다.

나는 http://www.company.com/newsite/aboutus/

는 지금까지 여러 페이지에 대한 약 20 리디렉션을 영구적 /aboutus.htm에게 재

(예를 들어)와 함께/기업-COM/디렉토리에있는 .htaccess 파일을 만들었습니다.

우연히 500 개의 오류가 발생했다는 것을 알기 전까지는 정상적으로 작동하는 것으로 보입니다. 이것은 간헐적으로 발생했습니다. 지원 서비스 제공 업체 인 1and1에 전화를하면 지원 서비스가 처리 능력이 부족하여 패키지 (!)를 업그레이드해야한다고 말했습니다. 이전에 나는 온라인 티켓을 모으고 응답을 기다리는 것에 지긋 지긋했습니다. 이 티켓은 .htaccess 파일에 문제가 있다고 대답했습니다.

질문 :

어느 쪽이 맞습니까? 내가 읽은 것부터 .htaccess 파일은 간헐적 인 문제가 아닌 영구적 인 문제를 일으킬 것이므로 처리 능력이 부족할 것입니다.

감사 스티브 부스

답변

0

현재 두 개의 별도의 문제가있다. 첫 번째는 1and1 호스팅 패키지의 제약 조건입니다. 나는 그들의 공유 호스팅 패키지를 사용하고 있다고 가정합니다. 이것은 개별 스크립트 실행이 사용하는 CPU입니다. 내 호스트에 "RLimitCPU 15"이 있습니다. 즉, 스크립트가 15 초 이상의 CPU를 사용할 수 없음을 의미합니다. 귀하의 응용 프로그램이이 제한에 "부딪히며"시간이 초과 될 수 있습니다. 각 스크립트의 끝이

define('START_TIME', microtime()); 

pageTimer("Page $pageName completed"); 

곳 pageTimer은()이다 : 내 스크립트의 시작이 추가 어디 내 모든 스크립트의 주위에 표준 타이밍 루프를 사용 :

/** 
    * Simple debug transaction timer 
    * @param $eventName Timer event being displayed 
    */ 
function pageTimer($eventName) { 
    static $u0, $s0; 

    if(is_null($s0)) { 
     list($u0, $s0) = explode(" ", START_TIME); 
     debugMsg(date('Y-m-d H:i:s', $s0) . " - Transaction timer set at 0 mSec"); 
    } 

    list($u1, $s1) = explode(" ", microtime()); 
    $elapsed = (((float)$s1 - (float)$s0) + ((float)$u1 - (float)$u0)) * 1000; 
    debugMsg(sprintf("\t%s at %u mSec", $eventName, (int) $elapsed)); 
} 

debugMsg() 그냥 error_log($msg . "\n", 3, $debugFile);을 수행하고 내가 정기적 페이지에서 스크립트 실행 - 시간을 확인 곳. 이렇게하면 무언가가 너무 오래 걸리는지 알 수 있습니다. 두 번째로해야 할 일은 오류 로그를 디렉토리의 개인 파일로 설정하고 모든 오류를 수집 한 다음 정기적으로 점검하는 것입니다.

두 번째 문제는 리디렉션입니다. 이 아니어야이 일시적인 문제의 원인이됩니다.

+0

친애하는 테리 씨께 감사드립니다. 사람이 고립되어 일할 때 누군가 자신의 결론을 확인하게하는 것이 좋습니다. 나는 오늘 스크립트를 구현할 것이다. – Steve

+0

스티브, 틱 또는 +1도 좋을 것이다 ;-) – TerryE

0

.htaccess RewriteRules를 통해 리디렉션과 관련된 여러 가지 가끔씩 발생하는 404 및 500 오류를 목격했습니다. 대부분은 예를 들면 당신의 재 작성의 기본 폴더를 일치하는 RewriteBase 지시어를 추가하여 치료 될 수있다 :

RewriteBase/

또는 사실

RewriteBase /newsite 

이 많은 CMS 시스템은 이미 이러한 RewriteBase 지시어를 자신의 미리 작성된 .htacces 파일은 주석 처리되고 활성화 만하면됩니다 (예 : Drupal, Joomla, TYPO3).

많은 경우이 문제가 해결되었지만이 간헐적 인 리디렉션 오류가 전혀 발생하지 않는 이유는 여전히 저에게는 없습니다. 결국 그들은 일이 생기거나 일어나지 않아야하지만 무작위로 오르거나 가지 않아야합니다.

관련 문제