我有一个使用 Ubuntu 20.4 操作系统的 vps 服务器。 我在这些路径上有两个 Laravel 项目:
第一个应用程序:
/var/www/html/public/index.php
第二个应用程序:
/var/www/hampa/html/public/index.php
我的默认 nginx 配置:
/etc/nginx/sites-available# cat default
server {
listen 80;
server_name localhost;
root /var/www/html/public;
index index.php index.html index.htm;
charset utf-8;
client_max_body_size 100M;
location /hampa {
alias /var/www/hampa/html/public;
index index.php index.html;
try_files $uri $uri/ /hampa/public/index.php?$query_string;
}
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
但是当我输入我的 IP 和
hampa
项目时,我收到了 404 错误未找到。
所有请求都重定向到第一个项目,我收到第一个项目未找到 404 错误。我哪里错了?
为此,您需要在 nginx 配置中添加另一个配置文件,该文件重定向到您的 hmpa 项目
您可能需要执行以下步骤:
server {
listen 80;
server_name your_domain.com;
root /var/www/hampa/html/public/; # Adjust this path to the public directory of your Laravel project
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # Adjust this path according to your PHP version
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
现在应该可以工作了。