不带/结尾的URL重定向到/结尾地址伪静态规则

2024-12-09 229阅读 0评论
摘要:问题是一个zbolg网站设置标签URL是/结尾的地址。实际的URL引用没有问题,但实际上在访问没有/的地址时会出现404。不知道是不是爬行动物的叫法。所以考虑一下重定向规范。

问题是这样的,一个zbolg网站设置tag的url是/结尾的地址,实际网址引用并没有什么问题,但实际上当访问不带/的地址会出现404的情况。不知道什么原因,发现统计中有一些访问的是不带/的地址。不知道是不是爬虫所谓。所以考虑重定向规范一下

举例

https://www.xxx.com/blog
https://www.xxx.com/blog/


是两个不同的地址,可以参考《URL以反斜杠“/”结尾和不以“/”有什么区别?

当然我的是zblog 没有这个问题,只是用于URL举例,步入正题,伪静态规则

注意:规则不包含网址本身的伪静态规则,不确定前后顺序是否有影响,可自行测试

apache

RewriteRule ^([^.]+[^/])$ /$1/ [L,R=301]


Nginx

if (!-f $request_filename){
rewrite ^/([^.]+[^/])$ http://$host/$1$2/ permanent;
}


我用了这个没有成功,最后用的是apache的规则转的nginx规则,如果不成功大家也可以试试

IIS6+ISAPI Rewrite 2.X

RewriteRule /(?!zb_)([^.]+[^/]) /$1/ [RP,L]


IIS6+ISAPI Rewrite 3.X

RewriteRule ^(?!zb_)([^.]+[^/])$ /$1/ [NU,R=301]


IIS7、7.5、8+Url Rewrite

<rule name="//" stopProcessing="true">
<match url="^(?!zb_)[^.]+[^/]$"/>
<action type="Redirect" redirectType="Permanent" url="{R:0}/"/>
</rule>



文章版权声明:除非注明,否则均为JXLOG原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
验证码
评论列表 (暂无评论,229人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码