在使用nginx在Ubuntu服务器上重启基于laravel的网站后,并正确配置了所有内容(希望,至少它之前有效),我只能访问索引页面而不能访问任何其他页面 - nginx不会丢弃404找到。
认为这可能是许可问题,但我已经尝试了
sudo chown -R :www-data /var/www/foo-bar
sudo chmod -R 775 /var/www/foo-bar/storage
sudo chmod -R 775 /var/www/foo-bar/resources
但似乎没有帮助。这是我的nginx配置文件:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/foo-bar/public;
index index.php index.html index.htm;
server_name 120.25.203.113;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
有什么想法吗? (尝试http://120.25.203.113/并点击中心按钮以查看是否感兴趣!)
[error] 24119#0: *77 open() "/var/www/ozunimate/public/student/register" failed (2: No such file or directory), client: 14.202.230.9, server: 120.25.203.113, request: "GET /student/register HTTP/1.1", host: "120.25.203.113", referrer: "http://120.25.203.113/"
"学生/注册"不在/ public下,应重定向(以前在重新启动之前正常重定向)。似乎重定向不再起作用了。
答案 0 :(得分:1)
让我回答我的问题。
所有的配置都很好 - 事实证明自动加载器无法正常工作。在错误日志中看到nginx没有将http请求重定向到正确的目录。它应该工作正常,但我想它在重新启动时会以某种方式受到污染。
解决方案:
1.在远程服务器中:composer install
2.如果不工作,只需恢复整个服务器并再次启动。无论如何,这是一个启动问题。
答案 1 :(得分:0)
这可能是对的。但对我来说,我错过了以下内容:
location / {
# This line
#try_files $uri $uri/ /index.php$is_args$args;
# OR this
try_files $uri $uri/ /index.php?$query_string;
}
解决了这个问题!