去评论
dz插件网

discuz目录化伪静态中遇到的特殊格式URL静态化路径中目录后面不带斜杠的自动跳转

admin
2023/01/06 22:50:17
discuz目录化伪静态中遇到的特殊格式URL静态化路径中目录后面不带斜杠的自动跳转:

当使用特殊格式的路径时,以斜杠/结尾的路径,如果用户直接输入不带/结尾的url时会出现404错误页面,具体原因这里不细说,只提供相关的解决方法。在通过伪静态来做不带/结尾的路径的301跳转,但因301跳转的设置方法与伪静态组件的版本相关,所以无法自动生成对应的跳转规则,需要手动添加301跳转规则。

一、IIS Web Server(独立主机用户)

ISAPI_Rewrite 1.x:RewriteRule ^(.*)/(library|develop|database|card|wall|license|plugin)$ $1/$2/ [R,I]

ISAPI_Rewrite 2.x:RewriteRule ^(.*)/(library|develop|database|card|wall|license|plugin)$ $1/$2/ [I,RP]

ISAPI_Rewrite 3.x:RewriteRule ^(.*)/(library|develop|database|card|wall|license|plugin)$ $1/$2/ [NC,R=301]

二、Apache Web Server(独立主机用户)

RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)/(library|develop|database|card|wall|license|plugin)$ $1/ [L,R=301]

三、IIS7 Web Server(独立主机用户)

<rule name="AddTrailingSlashRule1" stopProcessing="true">
  <match url="^(.*/)*(library|develop|database|card|wall|license|plugin)$" />
  <action type="Redirect" url="{R:1}{R:2}/" />
</rule>

四、nginx

rewrite ^([^\.]*)/(library|develop|database|card|wall|license|plugin)$ $2/ permanent;

说明:

1.暂只研究上面几种,其他格式暂未研究。

2.library|develop|database|card|wall|license|plugin换成你自己获取规则中的表单名