我的文件夹结构看起来像这样:
app/main/index.php
app/main/catalog.php
app/main/login.php
我想使用
app/main directory
访问
localhost/admin/{file_name}
中的文件
localhost/admin/index.php
应使用 app/main/index.php
,localhost/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 错误
对于您的要求,只需重写 URI 就足够了:
rewrite ^/admin/(.*)$ /app/main/$1 last;
# your standard PHP handler location
location ~ \.php$ {
# fastcgi configuration
fastcgi_pass ...
}