2012-10-23 2 views
0

fuelPHP를 배우려고하고 있으며 CI 배경을 형성했습니다. 나는이 튜토리얼을 사용하여이 것에 익숙해 질 수있다. 내 간단한 컨트롤러fuelPHP : 내 컨트롤러에 직접 액세스 할 수 없습니다.

http://localhost/fuel/public/index.php/hello 

에 액세스 할 때

http://net.tutsplus.com/tutorials/php/getting-started-with-the-fuel-php-framework/

내 문제는 내가 404 오류가 2 단계에있다.

* fuel는 내 localhost에 새로 설치된 fuelPHP의 디렉토리입니다.

이것을 기본 경로로 설정하면 컨트롤러가 작동합니다.

이 메시지를 표시하는 새로운 버전이 변경 되었습니까?

여기 내/.htaccess는/public/폴더에 있습니다.

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

감사합니다.

+0

.htaccess를 설정 했습니까? 그렇다면 코드를 게시 할 수 있습니까? –

+0

@BenSwinburne 이것은 새로 설치 한 것입니다./fuel// .htaccess/fuel/fuel/has .htaccess가 없으며 모든 것을 거부합니다. 하지만 실제로, 기본 컨트롤러 ... welcome.php는 아무 문제없이 여기에 액세스 할 수있었습니다. –

+0

기본 설치의 일부로/public /에 하나 있어야하지만 아파치/PHP 설정에 따라 조정해야 할 수도 있습니다. 환영 컨트롤러가 작동하는 이유는 경로가 올바른 페이지를로드하기 때문입니다. 이것은/hello 비트를 index.php로 보내는 .htaccess입니다. –

답변

1

이와 같이 FuelPHP를 설치하면 매우 복잡합니다.

'public'폴더가 웹 서버 문서 루트이고, 모든 연료가 문서 루트 외부에 있으며 .htaccess가 문서 루트 내부에 있음을 의미합니다.

전체를 문서 루트 내에 설치하는 것뿐만 아니라 해당 문서 루트의 하위 폴더에도 설치하는 것이므로 다시 쓰기 규칙을 수정해야합니다.

RewriteBase /fuel/public 

을 공개로 추가하여 도움이되는지 확인하십시오. 또한,이 .htaccess는 "표준"아파치 유형 설치를 위해 만들어졌습니다. 다른 것을 실행하면 다른 .htaccess가 필요할 수 있습니다. 예를 들어 fcgi를 사용하는 경우 1.4/develop repo에서 .htaccess를 가져 오면 웹 서버 유형에보다 내결함성이 있습니다.

최종주의 : localhost를 호스트 이름으로 사용하지 마십시오. 많은 RFC에서 불법적 인 이름입니다. 그 중 하나는 쿠키 사용을 문서화 한 것입니다. "localhost"를 사용하면 일부 브라우저 (버전)에서 모든 종류의 세션 문제가 발생합니다. 대신 가상 호스트를 설정하고 (예 : 하위 폴더보다 나은 솔루션) "mymachine.local"과 같은 호스트 이름을 사용하십시오.