我有以下简单的服务器块:
server {
listen 80;
server_name _;
location / {
*****root test/a/;*****
index index.htm;
autoindex on;
}
我关心的是该行的位置,其中有一个放置星星的位置,我将根表示为test/a/
,并且它运行良好,我可以从浏览器访问索引。
但是如果我选择 root,/test/a/;
它不起作用,我收到 404 错误。
我看到每个人都在根目录前面使用“/”,无论是在教程中还是在这个网站中。
为什么它对我不起作用,有什么想法吗?我的系统是 Linux v3.18.11+
答案1
在/
目录前面,您需要使用服务器根目录的完整路径。
例如:
root /var/www/test/a/;
如果没有/
,它将使用编译时指定的路径以及--prefix
指令前缀的选项root
。
您还应该alias
在块内使用指令location
,这样不会导致location
网站根目录以外的块出现问题。