J'utilise Laravel's valet
sur mon ordinateur. Je n'ai pas eu de problème avec ça sur ma section locale. Mon serveur distant utilise Ubuntu 16.04
.Nginx - Rediriger 404 fichiers PHP
J'ai un index.php
comme si à la racine de mon site:
<?php
require __dir__ . '/src/core/bootstrap.php';
require __dir__ . '/src/controllers/index.php';
src/core/bootstrap.php
est plein de trucs pour composer
et databases
. Mais voici ce src/controllers/index.php
est:
<?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";
Ainsi, lorsque les utilisateurs visitent site.com
, il va main
puisqu'il est la page d'accueil. Mais, disons, par exemple, ils visitent: site.com/about
, puis $page
serait about
et le routage de violon .... Tout cela m'a été enseigné sur Laracasts, excusez-moi si cela semble ... rudimentaire. Le problème réside, quand je visite site.com/api
, il me montre juste une page blanche. Ou, comme, book?id=1
page blanche. Ou
Voici le bloc nginx
de valet
qui indique au serveur ce qu'il faut faire avec les fichiers non trouvé:
location/{
rewrite VALET_SERVER_PATH last;
}
Comment puis-je appliquer que sur mon site? J'ai essayé substituer VALET_SERVER_PATH
avec /var/www/html
mais je viens de recevoir une erreur de serveur 500.
Voici mon nginx
actuel bloc:
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;
}
}
Il fonctionne. Mais seulement pour la première page. Oui, j'ai HTTPS activé et le trafic www
est redirigé vers non-www
URI.
bien, comment cela. Je vois ce qui se passe - ça a marché! Je vous remercie. – nn2