我对 nginx 位置块感到困扰。
location /myApp/api/account/tutorialPage {
alias /data/www/;
index tutorial.html;
}
如果严格匹配 - 一切正常,可以访问我的 tutorial.html。
但我希望每个包含 /tutorialPage 的链接都指向 tutorial.html。
所以我设置了下一个位置:
location ~ /tutorialPage {
alias /data/www/;
index tutorial.html;
}
它必须是类似“如果链接包含 /tutorialPage 则转到 tutorial.html”之类的内容。但我遇到了 403 错误。
[错误] 10148#0:*65346 “/data/www” 目录索引被禁止,客户端:194.183.181.44,服务器:,请求:“GET /myApp/api/account/tutorialPage/HTTP/1.1”,主机:“my.domain.com”,引荐来源:“https://my.domain.com/“
我已仔细检查过 data/www 目录是否有 chmod 755(即任何人都可以读取)
----更新
适用地点示例
location ~ /tutorialPage\z {
rewrite ^/.* /tutorial redirect;
}
location /tutorial {
alias /data/www;
index tutorial.html;
}
答案1
您需要在内部重写 URI:
location ~ /tutorialPage {
rewrite ^ /tutorial.html last;
}
该index
指令确定遇到目录时的默认操作,但这里并非如此。