我有下面的nginx配置,
server {
listen 80;
root /vol/www/home;
index /index.html;
error_page 404 /404.html;
location = /404.html {
internal;
}
location / {
try_files $uri $uri/ =404;
}
location /about {
try_files /about.html =404;
}
}
这是工作得很好,但当我选择一些路径在主页说关于我们页,URI带有完整的文件名,包括结尾的.html
。我能够通过在nginx配置中添加一个单独的位置并将所有的href链接更改为该位置而不是文件名来获得这些信息。因此,这是一个变通办法,以获得乘坐,但要运行本地没有服务器,这是不可能的。
我在nginx中看到过一个rewrite
配置,但是我没有成功,所以我在这里问一下我如何设置没有html部分的uri,并且不修改uri的href路径而不是filename。
我的配置是这样的,但是不工作
server {
listen 80;
root /vol/www/home;
index /index.html;
error_page 404 /404.html;
location = /404.html {
internal;
}
location / {
rewrite ^\/(.*)(\.html)?$ /$1 last;
try_files $uri $uri/ /index.html =404;
}
}
抛出500错误:处理“/”时重写或内部重定向循环
1条答案
按热度按时间nuypyhwy1#
将其替换为
这个