Nginx try_files $uri参数

jobtbby3  于 2023-11-17  发布在  Nginx
关注(0)|答案(1)|浏览(140)

我的文件夹结构看起来像这样:

app/main/index.php
app/main/catalog.php
app/main/login.php

我想用localhost/admin/{file_name}访问app/main directory中的文件
localhost/admin/index.php应该使用app/main/index.phplocalhost/admin/catalog.php应该使用app/main/catalog.php等。
我的配置看起来像这样

location ~* ^/admin {      
          alias $base_root/projectname/src/;
          try_files /app/main/index.php  =404;
                              
          fastcgi_pass   localhost:9010;
          fastcgi_read_timeout 20m;
                                                                                                 
          fastcgi_buffers 8 16k;                                           
          fastcgi_buffer_size 32k;        

          fastcgi_index  index.php;                                                      
                                                                      
          include /etc/nginx/fastcgi_params;
                                            
          fastcgi_param       SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          fastcgi_ignore_client_abort     off;
    }


注意:这里需要使用alias,不能使用root
此配置适用于index.php:我打开localhost/admin,得到index.php内容
但是我不知道其他文件的配置
我尝试使用try_files /app/main/$uri =404;,但它只给我404错误的所有网页

wpcxdonn

wpcxdonn1#

对于您的需求,只需重写URI就足够了:

rewrite ^/admin/(.*)$ /app/main/$1 last;

# your standard PHP handler location
location ~ \.php$ {
   # fastcgi configuration
   fastcgi_pass ...
}

字符串

相关问题