我在本地使用Laravel的valet
。我在本地没有问题。我的远程服务器使用Ubuntu 16.04
。Nginx的 - 重定向404 PHP文件
我有一个index.php
像这样在我的网站的根:
<?php
require __dir__ . '/src/core/bootstrap.php';
require __dir__ . '/src/controllers/index.php';
src/core/bootstrap.php
是composer
和databases
东西。但是,这是什么src/controllers/index.php
是:
<?php
session_start();
use App\UserTools\User;
use App\Core\Router;
$page = Router::load()->fetchPage();
include "src/controllers/{$page}.controller.php";
include "src/views/{$page}.view.php";
因此,当用户访问site.com
,它进入main
因为它的主页。但是,比方说,他们访问:site.com/about
,然后$page
将是about
和中提琴路由。这一切都是在Laracasts教给我的,所以如果这看起来很简单,请原谅。
问题在于,当我访问site.com/api
时,它只是给我一个空白页面。或者,像book?id=1
空白页。或
这里是valet
它告诉服务器做什么用的文件nginx
块未发现:
location/{
rewrite VALET_SERVER_PATH last;
}
我如何可以应用到我的网站?我试图取代VALET_SERVER_PATH
与/var/www/html
但我刚买了一台服务器错误500
这是我当前nginx
块:
server {
server_name www.site.org;
return 301 $scheme://site.org$request_uri;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name site.org;
return 301 https://$server_name$request_uri;
}
server {
# SSL configuration
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
include snippets/ssl-site.org.conf;
include snippets/ssl-params.conf;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name site.org;
location/{
try_files $uri $uri/ /index.php;
}
location ~ /.well-known {
allow all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}
它的工作原理。但只限于首页。是的,我启用了HTTPS,并且www
流量被重定向到了non-www
URI。
好,怎么样。我看到发生了什么 - 这很有用!谢谢。 – nn2