PHP 7.2我正在尝试使用和设置服务器nginx。当我导航到 Laravel 主页时,我可以加载 Laravel 主页my-site.com/snow,但是我无法API.php加载定义的任何 API 路由。我的所有 API 路由都以/api/like为前缀/api/login。404我的所有 API 路由均出现错误。我究竟做错了什么?
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
}
location /snow {
index index.php;
}
location /snow/api {
root /var/www/html/snow;
rewrite ^/api/(.*)$ /$1 break;
try_files $uri $uri/ /api/index.php$is_args$args;
}
location ~ snow/api/.+\.php$ {
root /var/www/html/snow;
rewrite ^/api/(.*)$ /$1 break;
#include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
Run Code Online (Sandbox Code Playgroud)
.htaccess
Options -Indexes
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
<Files .env>
Order allow,deny
Deny from all
</Files>
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
我遇到过同样的问题
我替换了
try_files $uri $uri/ =404;
Run Code Online (Sandbox Code Playgroud)
和
try_files $uri $uri/ /index.php$is_args$args;
Run Code Online (Sandbox Code Playgroud)
它起作用了。
| 归档时间: |
|
| 查看次数: |
6676 次 |
| 最近记录: |