iT邦幫忙

0

laravel 除了根目錄外的路徑出現404問題

我在本地端測試時可以正常運作
但掛上server後除了根目錄外,其他路徑都出現404
server是ubuntu系統掛webmin介面
我從網路上搜尋後有找到幾個解法

server {  
    listen 80;  
  
    server_name www.onlinebook.com;  
  
    root /home/developer/Desktop/www/laravel_book/public/;  
    index index.html index.php index.htm;  
  
    location / {  
        #try_files $uri $uri/ =404;  
        try_files $uri $uri/ /index.php?$query_string;  
    }  
    location ~ \.php$ {  
        include snippets/fastcgi-php.conf;  
    #  
    #   # With php7.0-cgi alone:  
    #   fastcgi_pass 127.0.0.1:9000;  
    #   # With php7.0-fpm:  
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;  
          
    }  
      
}  

可是我不知道這個文件要去哪裡設定
我對apache/nginx不太熟
請問各位我需要怎麼解決這個問題

server有開啟rewrite modules了嗎?
a2enmod rewrite

1 個回答

2
wolfwang
iT邦新手 3 級 ‧ 2018-07-30 09:50:15
最佳解答

第一個動作應該是去 /var/log/nginx 裡面看 error log 裡面給了什麼樣的訊息,這樣診斷最準。

這種情況最常見的是, fastcgi_pass unix:/run/php/php7.0-fpm.sock; 這一行的設定,與 /etc/php/php7.0/fpm/pool.d/www.conf 裡面的設定不一致造成的。你可以看一下
listen = 那一行設的路徑,是不是與你在 nginx 裡面設的路徑一樣,也就是說,必須是:

listen = /run/php/php7.0-fpm.sock

才能正常運作,如果不是,就把那一行改成和 nginx 一樣存檔後,重新載入 php-fpm 和 nginx

sudo service php7.0-fpm reload
sudo service nginx reload

應該就可以正常運行了。

如果不是路徑不一致造成的,那就再看 log 有沒有提供更多的訊息。

我要發表回答

立即登入回答