我试图从我的web服务器的子文件夹中提供特定URL的文件,将URL与nginx的位置配置相匹配,它适用于第一级“/newsletter”,但不适用于深层次的“/newsletter/ID 456/”
这是我的nginx配置(部分):
root /home/myuser/www;
server_name www.mysite.it;
location / {
try_files $uri $uri/ /index.html =404;
}
# location ~^/newsletter/(.*)$ {
location /newsletter {
root /home/myuser/www/newsletter;
# try_files $uri $uri/ /index.html;
# try_files $uri $uri/ /newsletter/index.html;
}
正如你所看到的,我做了很多测试,但没有一个工作。我的目标是提供这种类型的URL:“https://www.mysite.it/newsletter/myid“并从该目录“/home/myuser/www/newsletter”提供文件。
如果我数字“https://www.mysite.it/newsletter“它的作品,但如果我数字“https://www.mysite.it/newsletter/A5143“它不。
我能想出解决的办法。
谢谢.
1条答案
按热度按时间j2qf4p5b1#
目录
/home/myuser/www/newsletter
中有文件,可以使用开始为/newsletter/
的URL访问这些文件。但最终,您希望将开始为/newsletter/
的请求路由到/home/myuser/www/newsletter/index.html
。root
的正确值是/home/myuser/www
,因为newsletter
已经是URL的一部分。有关详细信息,请参阅root
指令。但是由于这个值已经在
server
上下文中定义了,所以不需要在location
上下文中重复它。举例来说: