首页 > 解决方案 > 如果我没有域名,如何在 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

标签: nginxnginx-location

解决方案


推荐阅读