宝塔面板Nginx静态网站301重定向去除index.html

宝塔面板网站设置的重定向设置中,可以不用编写代码配置简单的重定向。

对于复杂的重定向需求,可以编辑Nginx配置文件实现:

/www/server/panel/vhost/nginx/domain.com.conf

注意:在宝塔面板界面添加的重定向规则保存在以下路径:

/www/server/panel/vhost/nginx/redirect/domain.com

对于静态站点,设置默认首页index.html后,只需使用目录路径就可以访问到该目录下的index.html文件。例如:

https://www.beizigen.com/post/bt-panel-mysql-crashes-set-automatic-restart/

等效于访问:

https://www.beizigen.com/post/bt-panel-mysql-crashes-set-automatic-restart/index.html

此时,两个URL均显示同一页面。可以配置以下规则实现index.html跳转:

if ($request_uri ~ index\.html$) {
	rewrite ^(.*)index\.html$ $1 permanent;
}

在配置的过程中,我尝试过location和$uri匹配,但都会出现重定向过多的情况。因为这两个反映的都是重写后的URI,而$request_uri才是用户请求的没有做任何修改的URI。

一直没怎么关注Web服务器软件,看来以后得好好学习一下。

Typora