2013-02-20 4 views
1

Cakephp의 /app/webroot/blog/ 폴더에 Wordpress를 설치하고 wordpress permalink 설정을 Month와 name (예 : http://abc.com/blog/2013/02/sample-post/)으로 변경했습니다.Cakephp 내의 Wordpress

지금 게시글을 볼 때 누락 된 컨트롤러 (Error : BlogController not found)가 표시됩니다.

/blog/*이있는 모든 항목이 webroot 블로그 폴더를 가리킬 수 있도록 cakephp 경로를 변경하려고합니다.

아무도 도와 줄 수 있습니까?

+0

Wordpress를 'webroot' 디렉토리에 설치해야하는 특별한 이유가 있습니까? 가능성 밖입니까? – mensch

+0

클라이언트 요구 사항에 따라 웹 루트 내에 보관해야합니다. – Sitansu

+0

이 경우에는 특별히 블로그를 무시하고 실제 위치와 일치하는 방식으로 .htaccess를 수정하려고 시도하십시오. –

답변

5

, 그것은 다른 권한이 필요한 경우 우리는 그것을 생성해야하는 .htaccess 파일을 생성합니다.

위의 경우 /blog/ 폴더 안에 .htaccess 파일이 없었습니다. 난 permalink 설정을 변경하는 동안 Wordpress에서 제공하는 다음 mod_rewrite 규칙으로 만들었습니다.

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

이 모든 것이 정상적으로 작동하면.

2

webroot 폴더에 블로그 폴더를 둘 필요가 없습니다. .htaccess 파일을 약간 변경하여 폴더에 액세스 할 수 있습니다. 그냥 응용 프로그램 폴더와 cakephp의 루트에 귀하의 WordPress에 폴더를 넣어 다음과 같은. htaccess를 변경합니다. 우리는 워드 프레스의 영구 링크 설정을 변경하면

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule (blog/.*) $1 [L] # adjust the regex to what you want. 
    RewriteRule ^$ app/webroot/ [L] 
    RewriteRule (.*) app/webroot/$1 [L] 
</IfModule> 
+0

감사 크리슈나에 도움이 될만한 인덱스 파일의 쿼리 문자열을 찾으십시오. 나는 이것을 시도했지만 게시물 페이지 (/ blog/2013/02/this-is-a-post /)에 액세스 할 때 500 개의 내부 서버 오류가 표시됩니다. 그러나 고객의 요구 사항은 웹 루트 안에 보관해야합니다. – Sitansu

+0

블로그 폴더에서 기본 경로를 다시 작성해야한다고 htacces – Krishna

+0

예 크리슈나, 맞습니다. 블로그 폴더 .htacces에서 기본 경로 재 작성을 변경 한 후에 작동합니다. 다시 한번 감사드립니다. – Sitansu

0

나는 위의 두 가지 코드를 모두 시험했지만 나에게는 아무런 효과가 없었다. 그런 다음 내 자신 만의 것이 발견되어 작동했다. 그래서 여기에 도움이 될 수 있기를 바랍니다.

처음으로 블로그로 webroot 폴더 안에 WordPress 폴더를 추가하십시오. 블로그 안에 WordPress 디렉토리 및 파일을 붙여 넣으십시오. WordPress를 설치하십시오. 이제 WordPress 관리자 일반 설정 WordPress 주소 http://cakephp/blog/app/webroot/blog으로 보시고 http://cakephp/blog으로 변경하십시오. 저장 ...

WordPress에서 루트 폴더를 설치하여 .htaccess 파일을 찾습니다. RewriteBase 및 RewriteRule (마지막 하나)을 RewriteBase/blog/및 RewriteRule로 변경하십시오. /blog/index.php [L]

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /blog/ 
RewriteRule ^index\.php$ – [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /blog/index.php [L] 
</IfModule> 
+0

감사합니다. Pankaj. 다양한 htaccess 파일이 있습니다. 올바른 파일 경로 .. 도와 주시겠습니까? – Invincible

+0

제발 대답을 통해 가라. 나는 지금 그것을 언급했다. –

관련 문제