2016-08-09 2 views

답변

0

Apache 또는 Nginx를 사용하고 있습니까? Apache의 경우 하위 폴더에서 Laravel을 제공하도록 가상 호스트 파일을 구성해야합니다. 특히 testlaravel.com/download URI가 요청 될 때 /home/testlaravel/download/public 디렉토리 (기본적으로 다른 루트/홈 위치)를 사용하여 URI가 제공되어야한다고 구성해야합니다.
또한 mod_rewrite을 사용하여 URL 요청을 위의 위치에서 index.php에 게재 될 하위 폴더로 다시 작성해야합니다 (또한 URL을 가장 좋아 함).

마찬가지로, 당신의 주요 웹 사이트에 대한 가상 호스트의 구성은 다를 것이다 (그래서이 개 구성 laravel 요청에 대한 당신의 주요 웹 사이트에 대한 하나 하나가있을 것입니다)


가 위부터 잘 작동합니다 나는 그것의 conf 파일이 보일 것입니다 방법에 대한 전체 예제를 포함 시켰하는 Nginx에있는 그것의 다 같은 방식으로,

여기

이다 나는 완벽하게 나를 위해 노력하고 있습니다 내 location 블록 설정 - 에드 방법 :

location ^~ /facebookschedule { 
alias /home/netcans/facebookschedule/public; 
try_files $uri $uri/ @foobar; 

location ~ \.php { 
fastcgi_pass unix:/var/run/php5-fpm.sock; 
fastcgi_split_path_info ^(.+\.php)(.*)$; 
include /etc/nginx/fastcgi_params; 
fastcgi_param SCRIPT_FILENAME /var/wwww/facebookschedule/public/index.php; 
} 
} 

location @foobar { 
rewrite /facebookschedule/(.*)$ /facebookschedule/index.php?/$1 last; 
} 
0123을

출처 : 나는 대부분의 다른 출판 솔루션보다 간단 다음과 같은 구성을 사용하고 있어요 http://shubhank.gaur.io/setup-laravel-5-in-subfolder-with-nginx/

0

하드 코드로 어떤 경로/폴더를 필요로하지 않습니다.

모든 요청의 접두사를 public/으로하고 응용 프로그램이 해당 환경을 올바르게 자동 감지 할 수 있도록 SCRIPT_NAME에서 제거하면됩니다.

location ~ /myproject/(.*) { 
    rewrite /myproject(.*) /myproject/public/$1 break; 
    try_files $uri /myproject/public/index.php$is_args$args; 

    location ~ /index\.php$ { 
     include /etc/nginx/fastcgi.conf; 
     fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 
     fastcgi_param SCRIPT_NAME /myproject/index.php; 
    } 
}