2017-12-16 20 views
0

최근에 inmotionhosting.com에서 VPS를 구입했으며 내 크루 고 2.3.2을 배포하는 데 어려움이 있습니다. 사용자 정의에서 js, css, img 파일을로드 할 때 테마 /보기/테마/모자이크/webroot 내 Croogo 플러그인 /공급 업체/croogo/croogo/Croogo/webroot/. 물론Croogo - 새로운 VPS의 CakePHP 사이트가 js 및 css를로드하지 않습니다.

, 내 /View/Themed/Mosaic/Layouts/default.ctp에 적절한 CakePHP의 규칙을 사용하여 상기 자원을 포함 시켰습니다 :

echo $this->Html->css(array(
     'bootstrap', 
     'bootstrap-theme', 
     '/croogo/css/reset', 
     'font-awesome.min', 
     '../slick/slick', 
     '../slick/slick-theme', 
     '/jquery-ui/jquery-ui.min', 
     'slicknav.min', 
     'styles' 
    )); 
    echo $this->Layout->js(); 
    echo $this->Html->script(array(
     '/croogo/js/html5', 
     '/croogo/js/jquery/jquery-3.2.0.min', 
     '/jquery-ui/jquery-ui.min', 
     '/croogo/js/jquery/jquery.slug', 
     '/croogo/js/jquery/jquery.cookie', 
     '/croogo/js/jquery/jquery.hoverIntent.minified', 
     '/croogo/js/jquery/superfish', 
     '/croogo/js/jquery/supersubs', 
     '/croogo/js/jquery/jquery.tipsy', 
     '/croogo/js/jquery/jquery.elastic-1.6.1.js', 
     '/croogo/js/jquery/thickbox-compressed', 
     '/croogo/js/underscore-min', 
     'bootstrap.min', 
     '../slick/slick.min', 
     'jquery.slicknav.min', 
     'theme.js', 
    )); 

    echo $this->fetch('script'); 
    echo $this->fetch('css'); 

Croogo 2.3.2 자체를 가지고 있으며,

/공급 업체/croogo

/공급 업체/CakePHP의

: CakePHP의는 공급 업체로 실행

따라서 두 개의 .htaccess 개의 파일이 있습니다. /home/mosaic40/v2.mosaicmarble.com/에서

하나 : /home/mosaic40/v2.mosaicmarble.com/webroot/에서

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

하나 :

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

mod_rewrite가 설치되어 활성화되었습니다.

마지막으로, 누구든지 내 아파치의 설정에 대한 제안을 시작하기 전에는 여기있다 :

DocumentRoot /home/mosaic40/v2.mosaicmarble.com/ 
<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
</Directory> 
<Directory /> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    Order Allow,Deny 
    Allow from all 
</Directory> 

내가 내 손가락을 넣어 수없는 것. 즉, 플러그인과 테마의 리소스 (js/css/img)가 어떤 이유로로드되지 않습니다.

UPDATE 1 : (: http://v2.mosaicmarble.com/uploads/FG204-G.jpg 예)이 나타납니다 은/웹 루트의 자산뿐만 아니라로드되지 않습니다. 해당 링크는 http://v2.mosaicmarble.com/ (렌더링되는 내용을 보려면)입니다. Nginx에와

Croogo v2.3.2 의 CakePHP v2.9.3 리눅스 서버가 활성화 mod_rewrite는 당신이 디스패처를 통해 플러그인에 대한 자산을 가져 오는 경우

답변

0

말에서 분명 솔루션의 nginx를 사용하지 않도록하는 것이 었습니다 ...나는 NGINX가 설치된 Media Temple의 VPS와 같은 몇몇 다른 서버를 소유하고 있으며 모든 웹 사이트가 완벽하게 작동하기 때문에 별난 일입니다.

그래서 ... NGINX를 사용하지 않도록 설정하면 작업이 완료됩니다.

@cg 태그를 주셔서 감사합니다. 비슷한 문제가있는 다른 사람들에게 도움이됩니다.

+1

여러분의 질문에 모든 것이 여러분이 nginx가 아닌 Apache를 실행하고 있고 CakePHP의 라우팅과 관련이 없다는 것을 보여줍니다. 나는 당신이 겹쳐지고있는 하나 이상의 문제가 있었음에 틀림 없다고 생각합니다. – cgTag

+0

질문 원래 Nginx 언급하지 않았다, 나는 업데이 트하기 전에 내가 그걸 전달해야합니다 동의합니다. 나는 가능한 많은 정보를 포함하려고 노력했다. 하지만 여전히, 나는 당신의 노력에 감사드립니다. 나는 NGINX를 사용할 수 없게하는 가능한 해결책을 찾지 못했기 때문에이 시나리오는 그 방식이 독특하다는 것을 알게되었습니다. 솔직히 아직도 그것을 작동 불능으로 만드는 것이 왜 효과가 있었는지 나는 아직도 모른다. 그러나 그것은했다. 그것은 이제 완벽하게 실행 중입니다. – Amjo

0

(, 당신은 꽤 URL을 볼 수있는 링크를 클릭)를 설치했습니다. 플러그 인 네임 스페이스를 URL로 사용해야합니다.

echo $this->Html->script('Croogo.html5'); 

자산 플러그인에 연결에 설명서를 참조하십시오 :

https://book.cakephp.org/3.0/en/plugins.html#linking-to-assets-in-plugins

+0

cakephp 버전 2.1+ (2.9.3 사용)을 시작하는 것이 맞지만 플러그인 구문을 사용하는 것이 좋습니다. 사용했던 구문도 사용할 수 있습니다. 생성 된 HTML이 올바르게 생성됩니다 (예 : http://v2.mosaicmarble.com/croogo/js/jquery/jquery.slug.js 또는 http://v2.mosaicmarble.com/theme/Mosaic/js/theme). js – Amjo