我有以下目录:
]# ls /srv/web/logs/
yellow-log blue-log log.css
我想要两个链接:
example.com/yellow-log
example.com/blue-log
nginx规则对此应该是什么样的?我试过了:
location ~* ^/(?:yellow|blue)-log(?:/|.html)?$ {
alias /srv/web/logs;
}
但是抱怨缺少索引。我只是希望在为它们发出请求时提供这些页面,并且两者都应该驻留在同一目录中。两者都使用相同的log.css
文件。
答案 0 :(得分:1)
你有一半的解决方案。问题是你使用alias
表示root
而你没有CSS文件的路径。假设CSS文件是相对于HTML文件的,它的URI实际上是example.com/log.css
。日志文件没有扩展名,因此需要default_type
。
一个解决方案是:
location ~* ^/(?:yellow|blue)-log$ {
default_type text/html;
root /srv/web/logs;
}
location = log.css { root /srv/web/logs; }