最近我发现有些网站将许多没有现有网址(缺少.html)链接到我的域名。 我将尝试通过将所有这404个错误的URL指向正确的URL来降低爬网错误。
但我在nginx中进行301重定向时遇到问题
我想将domain.com/mp3/search重定向到domain.com/mp3/search.html
我当前的配置是:
location / {
rewrite ^/mp3/([^/]*).html(/?)+$ /index.php?mp3=$1;
#rewrite ^/mp3/([^/]*).html(/?)+$ /index.php?mp3=$1;
#rewrite ^/mp3/([^/]*)$ /$1.html;
}
我试过
#rewrite ^/mp3/([^/]*).html(/?)+$ /index.php?mp3=$1;
它只是创建了一个domain.com/mp3/search页面
#rewrite ^/mp3/([^/]*)$ /$1.html;
返回404
更多例子:
mp3/Rank_1_&_Dennis_Sheperd to become mp3/Rank_1_&_Dennis_Sheperd.html
mp3/Flashlight_ to become mp3/Flashlight_.html
mp3/Let_her_go_ to become mp3/Let_her_go_.html
mp3/Audien_-_Iris to become mp3/Audien_-_Iris.html
全部使用301重定向
答案 0 :(得分:0)
我认为您正在寻找的重写规则是:
rewrite ^/mp3/([^/]*)(?!.html)$ /mp3/$1.html permanent;