2013-10-16 3 views
1

저는 어떻게 든 우리 중 대부분이 .htaccess에 문제가있어 누군가가 나를 도울 수 있는지 알고 싶습니다. 오픈 수세 12.3 : 코드 :서버에서 Cakephp 2.x URL 재 작성이 제대로 구성되지 않았습니다.

Linux linux-hyo0.site 3.7.10-1.16-desktop #1 SMP PREEMPT Fri May 31 20:21:23 UTC 2013 (97c14ba) x86_64 x86_64 x86_64 GNU/Linux 

I 디부 내 컴퓨터에서 CakePHP를 설치하고자하지만 코드 "라고 말하는 나의 웹 페이지에 오류가 있습니다 URL 재 작성이 제대로 서버에 구성되어 있지 않습니다. "이 같은

내/등/SYSCONFIG/아파치 파일 : 코드 :

APACHE_MODULES="authz_host actions alias auth_basic authz_groupfile authn_file authz_user autoindex cgi dir include log_config mime negotiation setenvif status userdir asis imagemap php5 reqtimeout authz_default rewrite" 

와 최종 코드에서이 라인과 /etc/apache2/sysconfig.d/loadmodule.conf : 나는 또한 내 파일을 변경 않았다

LoadModule rewrite_module     /usr/lib64/apache2/mod_rewrite.so 

등/아파치 /가 기본으로-server.conf

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 
<Directory "/srv/www/htdocs"> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride ALL 
    Order Allow,Deny 
    Allow from all 
</Directory> 

어떤 도움이 필요합니까?

응용 프로그램에

/웹 루트

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

및 응용 프로그램에

/

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 
+0

.htaccess 파일이 있는지 확인하십시오. – CoryJThompson

+0

안녕하세요. M. CJThomson, 예. 두 파일 (.htaccess)이 폴더에 있습니다 (/ app .htaccess 및 app/webroot .htaccess). 나는 아직 수정하지 않았습니다. –

+0

htaccess 파일은 어떻게 생겼습니까? –

답변

6

이것은 아주 오래된 질문이다하지만 어쩌면이 대답은 거기 밖으로 Google 사용자에 대한 관련 :

당신이보기/레이아웃/default.ctp을 변경 했습니까?

이 경고를 발생하는 것입니다 :

경고는보기/페이지/home.ctp home.ctp에서
  • 만 경고를 설정 때 파일 응용 프로그램/웹 루트에 사업부에 설정되어
    • /css/cake.generic.css가 존재합니다
    • 표준 default.ctp 레이아웃에서 스타일 시트 /css/cake.generic.css가로드되었습니다.
    • 경고가있는 div는 cake.generic.css에 있습니다. 숨겨진 !!!

    그래서 기본 홈 페이지가로드되면 어떻게됩니까? mod_rewrite가 올바르게 구성되면 성공하는 cake.generic.css 스타일 시트를로드하려고 시도합니다. 그러면 경고가 숨겨집니다. 스타일 시트를로드하지 못하면 경고 메시지가 계속 표시됩니다.

    중 하나가 mod_rewrite를하고 htaccess로, 에 문제가 있거나 당신이 cake.generic.css 더 이상로드 될 수 있도록 레이아웃을 변경할 때이 경고는, 한마디로, 팝업 ...

    우선 스타일 시트를로드하려고 시도하는지 확인하십시오. F12 콘솔에 표시됩니까?

  • 0

    루트 폴더에 .htaccess 파일 (예 : /htaccess)이 있습니다. 이것은 대부분의 운영 체제에서 기본적으로 숨겨져 있기 때문에 복사되지 않았을 수 있습니다.

    /htaccess의 내용으로 추가하고 웹 서버에서 확인하십시오. http://book.cakephp.org/2.0/en/installation/url-rewriting.html

    -1

    더 설명이있다

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

    는 두 가지 해결책이있다 :

    1) 중 하나 응용 프로그램/웹 루트/ 디렉토리에 아파치 설정 파일에 DocumentRoot을 설정하고 CakePHP의은을 사용합니다 .htaccess 파일이 있습니다.

    2) .htaccess 파일을 응용 프로그램의 루트에 넣으십시오. 기본적으로 CakePHP 콘솔을 사용하여 응용 프로그램을 생성하는 경우 하나 생성되지는 않습니다. 그 htaccess로 파일이이 보일 것입니다 :

    <IfModule mod_rewrite.c> 
        RewriteEngine on 
        RewriteRule ^$ app/webroot/  [L] 
        RewriteRule (.*) app/webroot/$1 [L] 
    </IfModule> 
    
    +0

    이유 투표 이유? –

    1

    은 내가 먼저 가정 해 봅시다 : 내가 CakePHP는 싫어 !!!!
    방금이 문제를 해결하는 데 많은 시간을 할애했습니다. 케이크가 app/webroot/css/cake.generic.css를 확인하여 URL을 다시 작성한다는 것을 알게되었습니다. 존재하는지 확인하십시오. 아파치 error_log를 확인한 후 http :/myproject/css를 찾을 수 없다는 불평을하면서 해결책이 나왔습니다. 기본적으로 css 디렉토리는 없습니다. 링크 (ln -s app/webroot/css)를 만들었고 Cake의 문제를 해결했습니다.

    +1

    나는 케이크를 증오하지 않는다. .. 그러나 당신의 대답은 문제에 도착하는 것을 도왔다. .. 비록이 문제가 더 일찍 발생하지는 않았지만 ... – Divyanshu

    +0

    당신은 CakePHP를 싫어해서는 안됩니다. – decodingpanda

    1

    당신이 CakePHP의 새로운 설치 후이 오류를 가지고 당신이 파일 (CSS 파일이나 cake.generic.css) 중 하나를 변경하지 않는 경우, 다음을 수행하십시오 다시 a2enmod

    1. 는 sudo를
    2. sudo는 서비스 아파치를 다시 시작
    3. sudo는 나노에 대한
    4. 봐 /etc/apache2/sites-available/000-default.conf "을 DocumentRoot는/var/www /에서 HTML"과 바로 아래에 다음 줄을 추가 : 모든 에 AllowOverride를
    5. sudo는 서비스 아파치를 다시 시작 나는 마침내 내 htaccess로 파일이 처음부터 존재하지 않았던 것으로 밝혀 문제를 추적하려고 시간 후
    2

    . 새로운 .htaccess 파일에 다음 코드를 복사하고 헤이 프레스트 (hey presto).

    <IfModule mod_rewrite.c> 
        RewriteEngine on 
        RewriteRule ^$ app/webroot/ [L] 
        RewriteRule (.*) app/webroot/$1 [L] 
    </IfModule> 
    
    관련 문제