2009-11-02 4 views
1

나는 우분투에서 아파치 서버와 함께 젠드 프레임 워크를 사용하고 있습니다. 내가 로컬 호스트에 내 사이트를 시도 할 때, 예를 들어 URL젠드 프레임 워크 phpBB : URL 문제

을 다음 사용

http://test.dev/authentication/login 
http://test.dev/student/profile 

'인증'AuthenticationController을 의미하고 '로그인'loginAction을 의미 곳. 'student'는 StudentController를 나타내고 'profile'은 profileAction을 나타냅니다.

질문 : 이제 내 사이트에서 phpBB 포럼을 사용하고 싶습니다. 내 웹 사이트에서 phpBB 포럼을 시작하려면 다음 URL을 사용해야했습니다.

http://localhost/test/forum/ 

여기서 'test'는 내 주요 프로젝트 (웹 사이트) 디렉토리입니다. phpBB 포럼에 다음 URL을 사용하고 싶습니다.

http://test.dev/forum/ 

위의 URL을 사용하여 phpBB 포럼을 열도록 프로젝트를 구성하는 방법은 무엇입니까? 컨트롤러를 만들어야하나요?

감사

답변

1

잠시 후 나는 내 대답을 발견했다. 방금 공개 폴더에 '포럼'폴더를 배치했는데 .htaccess 파일을 변경하지 않고 저에게 도움이되었습니다.

<VirtualHost 127.0.0.1> 
    ServerName test.dev 
    DocumentRoot 'C:\wamp\www\test\public' 
</VirtualHost> 

내 htaccess로 파일과 같다 :

/var/www/test/public/index.php 
/var/www/test/public/.htaccess 
/var/www/test/public/forum 

내 httpd.conf 파일의 항목은 다음과 같다 :

내 디렉토리 구조는 다음과 같이 지금 : 여기

내 설정이다 이 폴더와 컨트롤러/액션 URL을 모두 제어합니다.

SetEnv APPLICATION_ENV development 

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

위의 .htaccess 파일의 마지막 줄에서 URL에 index.php없이 내 URL을 사용할 수 있습니다.

위의 설정 후 나는 제대로 다음 URL을 사용할 수 있어요 : 위의 URL을 '인증'과 '학생'에서

http://test.dev/authentication/login 
http://test.dev/student/profile 
http://test.dev/forum/ 

이 컨트롤러입니다. '로그인'및 '프로필'은 작업이고 포럼은 디렉토리입니다.

의견을 환영합니다. 감사

2

나는 당신이 당신의 ZF 응용 프로그램과 함께 아파치의 mod_rewrite를 사용하는 것 같아요.

가장 간단한 해결 방법은 경우, 포럼/디렉토리 내에 새로운 htaccess로 파일을 배치하고 아파치 먼저 요청 된 디렉토리에서 htaccess로 파일을 보이기 때문에

RewriteEngine Off 

이 작동 재 작성 엔진을 해제하는 것입니다 하나도 찾지 못하면 부모 폴더를보고 공용 디렉토리에 도달 할 때까지 계속합니다./forum /을 요청하면 .htaccess 파일을 찾아서 RewriteEngine을 끕니다.

+0

아파치 서버를 사용하고 있습니다. 정확하게 .htaccess 파일에 무엇을 써야하는지 알 수 있습니까? 응답을 위해 감사합니다. – NAVEED

+0

현재의 .htaccess 파일을 게시하여 보겠습니다. –

+0

적인 SetEnv APPLICATION_ENV 개발 한다 RewriteEngine 한다 RewriteCond % {REQUEST_FILENAME}의 -s [OR] 한다 RewriteCond % {REQUEST_FILENAME} -l [OR] 한다 RewriteCond % {REQUEST_FILENAME}는 한다 RewriteRule을 -d^* $ -. NC, L] RewriteRule ^. * $ index.php [NC, L] – NAVEED

1

이 잘 작동합니다 :

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule !\.(js|ico|gif|jpg|png|css)$ /index.php 

공용 폴더에 phpBB를 배치하면 웹 서버가 그것을 볼 수있을 것이며,이 코드의 2 개의 선은 "실제 파일을"제외 것 forum 폴더에 대해 원하는 내용 인 "실제 폴더"를 다시 작성하십시오. 마지막으로 분명히 모든 프레임 워크 트래픽을 index.php 파일로 푸시합니다.

+0

답변 해 주셔서 감사합니다. – NAVEED