Nginx配置问题:隐藏URL子目录,实现根路径直接服务应用
Nginx配置问题:隐藏URL中的子目录路径
我正在配置Nginx,希望让应用在URL中不暴露子目录。应用文件存储在/var/app/current/ddformbuilder/目录下,想要实现用https://app.example.com/login.php替代https://app.example.com/ddformbuilder/login.php访问。
当前配置
files: "/etc/nginx/conf.d/01_custom.conf": mode: "000644" owner: root group: root content: | server { listen 80; server_name app.example.com; root /var/app/current/ddformbuilder/; index index.php; location / { root /ddformbuilder; try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param DOCUMENT_ROOT /var/app/current/ddformbuilder; } }
问题现象
用上述配置后,URL依然会显示子目录ddformbuilder。访问https://app.example.com/login.php会提示“File not found”错误,但访问https://app.example.com/ddformbuilder/login.php可以正常运行。
我的需求是:让根域名https://app.example.com直接从/var/app/current/ddformbuilder/提供文件服务,且URL中不显示ddformbuilder。
已尝试的操作
- 调整root指令和try_files设置
- 测试location块的不同配置
- 修改Nginx配置并重新加载(已用
sudo nginx -t确认配置合法)
修复后的配置
问题出在location /块里错误覆盖了root指令,导致Nginx去/ddformbuilder目录找文件,而非正确的/var/app/current/ddformbuilder/。同时优化PHP处理逻辑,确保路径映射正确:
files: "/etc/nginx/conf.d/01_custom.conf": mode: "000644" owner: root group: root content: | server { listen 80; server_name app.example.com; # 全局指定应用所在的根目录 root /var/app/current/ddformbuilder; index index.php; location / { # 移除错误的root指令,继承server块的根目录配置 try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; # 利用全局root自动拼接正确的文件路径 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
配置说明
- 删除location /中的root指令:server块已经设置了正确的根目录,location内的
root /ddformbuilder会覆盖全局配置,导致路径错误,直接移除即可。 - 简化PHP参数:
$document_root会自动继承server块的root值,SCRIPT_FILENAME会正确拼接成/var/app/current/ddformbuilder/login.php,无需额外指定DOCUMENT_ROOT。 - 生效配置:执行
sudo nginx -t验证配置合法后,运行sudo systemctl reload nginx重载Nginx即可。
内容的提问来源于stack exchange,提问作者Isuru
相关产品推荐
相关产品推荐

