在网站访问中,经常会有index.php在网页中,然后搜索引擎会认为是重复的网页,对网站索引不是很好,比如:
https://www.leyeah.com/index.php/it/laravel
其实我这个网站是因为之前的一个bug导致,大量带有index.php的页面被搜索引擎收录,定时搜索引擎会发邮件给你,告诉你有大量重复的网页,其实我们只需要在nginx加上一条rewrite规则,将他们重定向至新的网页即可,在写规则之前,我们得了解下nginx rewrite的基本知识。
last – 基本上都用这个Flag,浏览器网址不跳转
break – 中止Rewirte,不在继续匹配,浏览器网址不跳转
redirect – 返回临时重定向的HTTP状态302,浏览器网址跳转到新网页
permanent – 返回永久重定向的HTTP状态301,浏览器网址跳转到新网页
所以我们这种情况,显然应该用permanent,在nginx server配置里加上这么一行即可。
server {
....
rewrite ^/index\.php/(.*) https://www.leyeah.com/$1 permanent;
...
}
所有带有index.php的网页就会自动重定向到不带有index.php一样的页面,如下图: