不带/结尾的URL重定向到/结尾地址伪静态规则
问题是这样的,一个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原创文章,转载或复制请以超链接形式并注明出处。
还没有评论,来说两句吧...