2016-07-03 2 views
2

저는 FuelPHP 및 웹 개발을 처음 접해 왔습니다. 사용자를 다른 컨트롤러로 리디렉션하려고하지만 어떤 이유로 페이지를 표시 할 수 없습니다. 홈페이지가 정상적으로 표시되고 기본 홈페이지를 블로그 페이지로 변경하면 정상적으로 표시됩니다. 그런 다음 <?php echo Html::anchor('blog', 'BLOG'); ?>Nginx 라우팅이 작동하지 않는 FuelPHP

나는 컨트롤러가 너무 포인트 : 내가 링크를 클릭하면

class Controller_Blog extends Controller_Template { 
public function action_index() { 
return Response::forge(View::forge('blog/index', $views,false)->render()); 
} 

는 'mywebsite.com/blog'저를 필요 여기

는 홈페이지의 링크입니다 하지만 "액세스가 거부되었습니다." 내가 제대로 설치되지 않았 FuelPHP이있는 경우

server { 
listen 80; 
server_name mywebsite.com 
index index.php index.html index.html 

root /home/me/fuelphp_project/public; 

location/{ 
index index.php 
try_files $uri $uri @php_index; 

location ~ \.php$ { 
deny all; 
} 

location @php_index { 
include /etc/nginx/fastcgi_params; 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
fastcgi_param FUEL_ENV "production"; 
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
} 
} 

잘 모르겠어요 아니면 Nginx에있다 :

은 여기 내 nginx를 가상 호스트입니다. 어떤 도움이라도 대단히 감사 할 것입니다. 감사합니다.

+0

귀하는 귀하의 모든 PHP 파일을 거부했습니다. – ytsejam

+0

그걸 제거해도 아무런 변화가 없었습니다 –

+0

권한을 확인하고 다음과 같이 수정하십시오 : https://github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/sites-available/FuelPHP – ytsejam

답변

2

나는 그것을 작동시킬 수 있었다. 다른 누구도이 문제를 겪을 경우를 대비하여 답변을 게시 할 것입니다. 설명을 위해 이것은 Nginx 1.10.0 및 php7.0-fpm을 실행하는 Ubuntu 16.04 서버에서 Fuelphp 프로젝트를 설정하려고합니다.

  • 루트 폴더로 설정 내 서버

  • 에 서버 _ 이름을 설정합니다

    가이드로 ytsejam에서이 페이지를 사용하여

    https://github.com/rajibmp/FuelPHP-Nginx/blob/master/nginx/sites-available/FuelPHP 나는 내 상황에 맞게 몇 가지 변경 내 fuelphp 프로젝트의 공개 폴더

  • 나는를 제거했다.과 fastcgi_param PATH_INFO $path_info을 사용하여 그들이 선언하지 않은 변수에 대해 불평하는 오류를주었습니다.

  • 액세스 및 오류 로그 파일은

  • 그것이 내가 다음 57

다음 포트로 설정 말한다 이유 fastcgi_pass unix:/run/php/php7.0-fpm.sock

  • listen 80 확실하지 설정 나를 위해 /var/www/fuelphp/nginxlogs에 php7.0-fpm에 대한 추가 설정에 대한 도움말 : How to find my php-fpm.sock?

    그게 전부라고 생각합니다. 도와 주셔서 감사합니다 ytsejam!