如何在 nginx 中设置子文件夹
Posted
技术标签:
【中文标题】如何在 nginx 中设置子文件夹【英文标题】:How to set subfolder in nginx 【发布时间】:2021-11-26 14:17:35 【问题描述】:我试图将我的 html 文件夹中的 index.php 文件设置为 localhost:5555
并将我的 html/highlighter 文件夹中的第二个 index.php 文件设置为 localhost:5555/highlighter
,首先一切正常,但第二个不是,当我去localhost:5555/highlighter
打印 404 Not Found
你能帮帮我吗?
我的文件夹树:
nginx
│
├── html
│ ├── 50x.html
│ ├── highlight
│ │ ├── functions.php
│ │ ├── icon.png
│ │ ├── index.css
│ │ ├── index.php
│ └── index.php
├── nginx.exe
nginx.conf
worker_processes 1;
events
worker_connections 1024;
http
include mime.types;
default_type application/octet-stream;
sendfile on;
server
listen 5555;
server_name localhost;
location /
root html;
index index.php;
location /highlighter
root html/highlight;
index index.php;
location ~ \.php$
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
更新 我的错误是在位置块中添加了 2 个根,如果您有同样的错误,请尝试像这样从位置块中移动根
worker_processes 1;
events
worker_connections 1024;
http
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server
listen 5555;
server_name localhost;
root "D:\\Miscellaneous\\nginxSites";
location /
index index.php;
location /highlighter
index index.php;
location ~ \.php$
fastcgi_pass 127.0.0.1:9123;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
error_page 500 502 503 504 /50x.html;
location = /50x.html
root html;
【问题讨论】:
【参考方案1】:您可以尝试以下方法:
location /highlighter
alias /var/www/html/highlighter/;
index index.php index.html;
#try_files $uri $uri/ =404;
try_files $uri $uri/ /highlighter/index.php;
【讨论】:
谢谢你的回答,我试过了,现在我得到No input file specified.
而不是404错误@
我正在使用 Windows 和我位于 C 驱动器根目录的 nginx 文件夹,如果它可以帮助你以上是关于如何在 nginx 中设置子文件夹的主要内容,如果未能解决你的问题,请参考以下文章
Objective C:如何在当前可见帧中设置子视图显示? (UITableView)