我的nginx版本:1.17.3
我想从nginx中我的网站的许多网址提供相同的模板
例如-
localhost:0000/adprofit
localhost:0000/adprofit/0
localhost:0000/adprofit/0/2
localhost:0000/adprofit/asdlk/asd/asd
localhost:0000/adprofit/sand/12312/asd/?AS?Dsa
无论如何,如果我遇到相同的关键字,例如“ adprofit”。 必须为我的网站用户提供“ adprofit.html”模板。 但是,请勿重写,请勿重定向。 我想保留用户请求的网址。
我的目录:
build
|
|-index.html
|-index.js
|-adprofit
| |
| |-adprofit.js
| |-adprofit.html
|
|-another directories...
我成功地从不同的网址中使用了“别名”。
location /all {
allow all;
alias ./build/adprofit;
index adprofit.html;
}
在这种情况下,请保留网址localhost:0000/all/
并查看模板adprofit.html
。
也是这种情况。
代码:
location /adprofit/all {
allow all;
alias ./build/adprofit;
index adprofit.html;
}
url : 'localhost:0000/adprofit/all/'
我的nginx代码:
server {
listen 8888;
server_name 192.168.0.25;
add_header 'Access-Control-Allow-Origin' '*';
access_log logs/host.access.log main;
location / {
allow all;
root ./build;
index index.html;
}
location /adprofit {
allow all;
alias ./build/adprofit;
index adprofit.html;
}
}
我的尝试案例:
location /adprofit/ {
allow all;
alias ./build/adprofit;
index adprofit.html;
}
succeed url : 'localhost:0000/adprofit/'
failed url : 'localhost:0000/adprofit/[anykeyword]' => 404 error page
code2)
location ~*/adprofit/(all|update|event) {
allow all;
alias ./build/adprofit;
index adprofit.html;
}
succeed url : 'localhost:0000/adprofit/'
failed url : 'localhost:0000/adprofit/all and update and event' => 403 Forbidden
我该如何解决这种情况?
答案 0 :(得分:0)
try_files
指令是一种更好的方法。此配置将始终指向相同的文件(adprofit.html)。
经测试可正常工作
/adprofit
/adprotif/random
location /adprofit {
alias /tmp/;
try_files /adprofit.html =404
}