Nginx 将根目录设置为子文件夹
Nginx set root to subfolder
使用 Nginx,我需要下载文件夹成为我网站的主页,同时仍然允许 terms.html 页面出现在根目录。下载文件夹显示带有 fancyindex 和 fancyindex_header 指令的文件列表。
我这样做了:root /var/www/html/download;
但我无法再访问下载文件夹之外的页面,例如 terms.html
nginx 是否允许这种配置?这是我的目录结构:
www/
/download/ # fancyindex on + home page
/account/
/index.php
/login.php
/signup.php
/css/
/js/
robots.txt
terms.html
如果您的目录结构遵循您的 URI 结构,您可能应该在 server
级别将 root
设置为 /var/www/html
,并使用 /var/www/html/download
作为一个 location
仅。
例如:
server {
...
root /var/www/html;
location / {
root /var/www/html/download;
fancyindex on;
}
location /account/ {
... # PHP stuff
}
location /css/ { }
location /js/ { }
location = /robots.txt { }
location = /terms.html { }
最后四个块可以为空,因为它们从周围的块继承了 root
的值。有关详细信息,请参阅 this document。
使用 Nginx,我需要下载文件夹成为我网站的主页,同时仍然允许 terms.html 页面出现在根目录。下载文件夹显示带有 fancyindex 和 fancyindex_header 指令的文件列表。
我这样做了:root /var/www/html/download;
但我无法再访问下载文件夹之外的页面,例如 terms.html
nginx 是否允许这种配置?这是我的目录结构:
www/
/download/ # fancyindex on + home page
/account/
/index.php
/login.php
/signup.php
/css/
/js/
robots.txt
terms.html
如果您的目录结构遵循您的 URI 结构,您可能应该在 server
级别将 root
设置为 /var/www/html
,并使用 /var/www/html/download
作为一个 location
仅。
例如:
server {
...
root /var/www/html;
location / {
root /var/www/html/download;
fancyindex on;
}
location /account/ {
... # PHP stuff
}
location /css/ { }
location /js/ { }
location = /robots.txt { }
location = /terms.html { }
最后四个块可以为空,因为它们从周围的块继承了 root
的值。有关详细信息,请参阅 this document。