我在本地安装了一个 nginx web 服务器。web 根目录位于 /var/www 下
现在我有一个如下所示的项目:/var/www /test-project /src /tests
文件src
夹是包含文件的文件夹index.php
。现在我想在进入https://localhost/test-project
浏览器时运行该网站。
目前这是我的配置:
server {
listen 443;
server_name localhost;
root /var/www/;
access_log /usr/local/etc/nginx/logs/default-ssl.access.log main;
ssl on;
ssl_certificate ssl/localhost.crt;
ssl_certificate_key ssl/localhost.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
try_files $uri $uri/ /index.php?$args;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location ~ /test-project { #/(?!Templates|uploads).* {
try_files $uri/ $uri/ /test-project/src/index.php?$args;
include /usr/local/etc/nginx/conf.d/php-fpm;
}
error_page 404 /404.html;
error_page 403 /403.html;
}
但目前我总是被重定向到 404 页面。有人能告诉我要更改什么才能让它运行吗?
答案1
保持根目录不变,并假设src
文件夹的完整路径是/var/www/test-project/src
然后我会将测试项目路线的位置更新为:
location /test-project/ {
try_files $uri /test-project/src/index.php;
}
如果你的src
文件夹的完整路径是:/var/www/src
,那么它将是:
location /test-project/ {
try_files $uri /src/index.php;
}
答案2
您的根目录应该指向索引所在的文件夹,否则(在我看来)您做的事情是错误的。
答案3
Web 根目录应为 /var/www/test-project,正如您所说 index.php 在 src 中,然后转到https://localhost/src,还要检查您的权限和所有权。
谢谢