2017-10-15 49 views
0

我試圖在項目的子文件夾(laravel-project)中設置laravel。 我得到莫名其妙的主頁工作,doint這在配置文件中: rewrite "/project/home.php" /laravel-project/public/index.php$1;Laravel在nginx服務器上的子文件夾中

但我想不出如何讓路由工作。 我希望任何包含laravel-project的請求都會被重定向到laravel-project/public/index.php,這樣laravel可以找出哪個控制器和哪個方法被調用。 我這樣做:

location /laravel-project { 
    root /home/www/virtual/mysite/laravel-project/public; 
    try_files $uri $uri/ /index.php?$query_string; 
} 

然而,當我嘗試導航到mysite/laravel-projectmysite/laravel-project/contacts應用嗟public/index.php文件中的laravel項目文件夾中。

希望給出的信息就夠了。請讓我知道是否需要更多信息,並感謝您的幫助!

+0

看看這個。 https://laravel-news.com/subfolder-install。基本上,你要確保所有的非公共文件夾和文件在公共路徑中都不是**。這將確保用戶無法瀏覽敏感文件,尤其是您的'.env'。然後,您必須更改引導應用的位置。文章解釋了這一切。 – tptcat

+0

謝謝,但我認爲我處於更早的階段。我無法讓Laravel在主頁旁邊工作,(硬重定向),所以我仍然堅持在那裏。 – mikey

回答

0
# megadealer 
    location ^~ /megadealer { 
     alias /var/www/choppies/megadealer/public; 
     try_files $uri $uri/ @megadealer; 

     location ~ \.php { 
      include snippets/fastcgi-php.conf; 
      fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
      fastcgi_param SCRIPT_FILENAME /var/www/choppies/megadealer/public/index.php; 
     } 
    } 

    location @megadealer { 
     rewrite /megadealer/(.*)$ /megadealer/index.php?/$1 last; 
    } 
    # end megadealer 
相關問題