2011-11-29 3 views
2

내 서버의 개발 섹션에서 CakePHP를 설치하려고했는데 "URL 재 작성이 제대로 구성되지 않았습니다. 귀하의 서버 "오류. 나는 올바른 RewriteBase로 .htaccess 파일을 구성하지 않는다고 생각합니다. 각 파일에 대해 다양한 RewriteBase를 시도했지만 올바른 파일은 얻을 수 없으며 Cake는 "작동하지 않는"정보를 제공하지 않습니다 (URL 재 작성 오류가 끝나지 않습니다. Cake의 에러 로그에서).CakePHP 2.0.4 "서버에 URL 재 작성이 제대로 구성되지 않았습니다"

내 httpd.conf 파일에 액세스 할 수 없지만 문제없이 다른 프레임 워크 (Wordpress 및 CodeIgniter)와 함께 .htaccess 및 mod_rewrite를 사용했습니다.

사이트에 대한 내 기본 URL은 다음과 같습니다 http://dev.domain.com/cake/

내 기본 서버 경로는 다음과 같습니다/홈/사용자 이름/public_html이는/dev/케이크/

케이크 루트 htaccess로 :

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /cake 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 

케이크 응용 프로그램 디렉토리 .htaccess :

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /cake/app 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

케이크 웹 루트 디렉토리 .htaccess :

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /cake/app/webroot 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php?/$1 [QSA,L] 
</IfModule> 
+0

이제 혼란스러워합니다. 각 파일에서 RewriteBase를 제거한 다음 URL (예 : http://dev.domain.com/cake/stuff/)에 추가하면 해당 컨트롤러를 만들지 않았다는 오류 메시지가 나타납니다. 컨트롤러를 만들면 작동하는 것 같습니다. URL 다시 쓰기가 작동하지만 Cake의 검사가 실패 했습니까? – Azuaron

+0

PDO가 내 서버에 설치되지 않았기 때문에 오류가 발생했습니다. 그 오류 (php.ini 문제)를 해결하자마자 URL 다시 쓰기 오류가 사라졌습니다. 따라서 URL 재 작성 오류는 URL 재 작성과 관련이 없으며 (별개로) 별개의 문제로 인해 발생할 수 있습니다. – Azuaron

답변

0

vhost.conf의 형식은 무엇입니까? DocumentRoot에 올바른 경로가있는 경우 .htaccess에 RewriteBase을 지정하지 않아도됩니다. 기본값을 고수하십시오.

가상 호스트에서 DocumentRoot /home/username/public_html/dev/cake/app을 시도하고 .htaccess에서 RewriteBases을 제거하십시오.

+0

나는 내 자신의 문제를 해결했다. (스택은 8 시간 동안 "내 자신의 질문에 대답"을하지 않으므로 코멘트에있다.) PDO가 내 서버에 설치되지 않았고,이를 고칠 때 재 작성 오류가 사라졌습니다. – Azuaron

6

새 default.ctp 레이아웃 파일을 만든 다음 "서버에서 URL 다시 쓰기가 제대로 구성되지 않았습니다." 등장한거야?

그런 경우, 그것은 나에게 일어났다. 괜찮아. 나는 Cake가 여기에 나쁜 에러 메시지를 던지고 있다고 생각한다.

+0

나는 내 자신의 문제를 해결했다. (Stack은 8 시간 동안 "내 자신의 질문에 대답"을하지 않으므로 코멘트에있다.) PDO가 내 서버에 설치되지 않았고,이를 고칠 때 재 작성 오류가 사라졌습니다. 그래, 케이크가 나쁜 오류 메시지를 던지고있어. – Azuaron

5

문제는 CSS입니다. U가 케이크의 기본 레이아웃에서 페이지를 만들지 않고 새 레이아웃에서 기본 css : cake.generic.css가 없으면 home.ctp 페이지에이 오류가 표시됩니다. home.ctp (View/Pages) 코드를보고이 오류 메시지의 메시지 내용이 display:none 인 이 <p> 인 cake.generic.css를 찾습니다.

+1

이것은 완전히 저에게 중요한 문제였습니다. 기본 레이아웃에서 cake.generic.css를 제거했고 오류 메시지가 나타났습니다. home.ctp에 다음 코드를 추가하면 : $ this-> Html-> css ('/ css/cake.generic.css', null, array ('inline'=> false)); 오류 메시지가 사라집니다. –

0

나를위한 문제는 다른 대답에서 언급 된 CSS 문제입니다. 기본 레이아웃의 CSS 파일을 변경 한 경우

, 당신은 당신의 새로운 CSS 파일에 다음 행 을 추가 할 필요가 있습니다 나타납니다 재 작성만큼 ...

#url-rewriting-warning { 
    display:none; 
} 

모두에서 작동하는 다른 방법들.

관련 문제