nginx - 如果我没有域名,如何在 nginx 上将子文件夹设置为不同的根位置?
问题描述
我尝试使用 nginx 设置服务器。我已将公共目录设置为 var/www。在这里,我有 2 个文件夹 1 用于名称为 domain.com 的主网站和 1 用于名称为 dev 的开发。
这是我的配置 conf.d/domain.com.conf:
server{
listen 80 default_server;
include /etc/nginx/defaul.d/*.conf;
client_max_body_size 50M;
root /var/www/domain.com/public_html;
location /{
}
location ~ /\.ht {
deny all;
}
location ~* \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location ^~ /dev {
alias /var/www/dev/$1;
index index.php;
location ~* \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_uri;
}
}
location ^~ /pma {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/pma_caf_pass;
index index.php;
location ~ /\.ht {
deny all;
}
location ~* \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
}
pma 来自 phpmyadmin 并且我在我的 domain.com/public_html 链接到 pma 所以这是有效的,当我尝试访问它时问题出在 dev 文件夹我得到 404 Not Found,如果我尝试 index.php 我得到消息“找不到文件。”。如果我访问不同的 php 文件名,则 url 将更改为:
例如,如果我尝试 admin.php,则 url 将是:my_ip/dev/dev/admin.php,它应该是 my_ip/dev/admin.php
解决方案
推荐阅读
- node.js - 如何在 MERN 中插入图像路径?
- sql - SQL 中满足条件时的值
- swift - SwiftUI 多定时器管理
- windows - 在 Windows 上使用 Docker Compose 的 Kong:无法加载上游的初始列表:无法从节点缓存中获取:无法获取回调锁
- powershell - 为什么将powershell 7设置为默认值时,ansible win_shell模块使用powershell 5?
- c - 简单的 C 程序使用
方法未运行 - r - 如何从列的特定部分找到最大值(行)?
- python - 将包含嵌套列表列表的字典转换为 df
- sql - 如何在没有找到行的删除后有条件地更新/插入?
- python - Python多线程:SystemError:内部例程的空参数