首页 建站教程 Zblog建站 正文

ZBlog系统强制网站目录链接统一加斜杠访问

通常情况下,url在末尾处是否加上斜杠“/”,对用户访问是没有太大影响的,大多数的Web 服务器均能正确解析,在传统意义上说,url末尾是没有反斜杠的,有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录,举个例子:http://www.umtheme.com/theme http://www.umtheme.com/theme/url末尾带斜杠...
本文最后更新于:2021.04.07 22:43:50

通常情况下,url在末尾处是否加上斜杠“/”,对用户访问是没有太大影响的,大多数的Web 服务器均能正确解析,在传统意义上说,url末尾是没有反斜杠的,有没有反斜杠的意义在于该 url 是指向一个文件还是一个目录,举个例子:

http://www.umtheme.com/theme
http://www.umtheme.com/theme/

url末尾带斜杠 / 的是指向目录/theme/,不带的是文件/theme,是两个不同的地址,一般来说,索引页面(如文章列表或分类)作为网站目录,而内容页面作为文件

对于服务器来说,如果访问目录,则会根据规则访问该目录下的默认文件(index.html、index.htm、index.php之类)。如:访问/theme/服务器会寻找/theme/index.html文件,而访问/theme服务器则会寻找/theme文件,如果没有查询到该目录下的文件时,有可能导致web服务器不能正确解析而出现返回404 错误,这时就要对链接进行定向处理让目录统一加上斜杠访问。

网站目录链接统一加斜杠的方法:

Apache .htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^\.]+[^/])$ /$1/ [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

IIS6+ISAPI Rewrite 2.X

[ISAPI_Rewrite]
RewriteRule /(?!zb_)([^\.]+[^/]) /$1/ [RP,L]
RewriteRule /default_([0-9]+)\.html /catalog\.asp\?page=$1
RewriteRule /category/(?!zb_)(.*)_([0-9]+)/ /catalog\.asp\?cate=$1&page=$2
RewriteRule /category/(?!zb_)(.*)/ /catalog\.asp\?cate=$1
RewriteRule /author-([0-9]+)_([0-9]+).html /catalog\.asp\?auth=$1&page=$2
RewriteRule /author-([0-9]+).html /catalog\.asp\?auth=$1
RewriteRule /tags-([0-9]+)_([0-9]+).html /catalog\.asp\?tags=$1&page=$2
RewriteRule /tags-([0-9]+).html /catalog\.asp\?tags=$1
RewriteRule /post/([0-9\-]+)_([0-9]+)/ /catalog\.asp\?date=$1&page=$2
RewriteRule /post/([0-9\-]+)/ /catalog\.asp\?date=$1
RewriteRule /post/(?!zb_)(.*)/ /view\.asp\?id=$1
RewriteRule /(?!zb_)(.*)/ /view\.asp\?id=$1

IIS6+ISAPI Rewrite 3.X

#ISAPI Rewrite 3
RewriteBase /
RewriteRule ^(?!zb_)([^\.]+[^/])$ /$1/ [NU,R=301]
RewriteRule ^default_([0-9]+)\.html$ /catalog.asp\?page=$1
RewriteRule ^category/(?!zb_)(.*)_([0-9]+)/$ /catalog.asp\?cate=$1&page=$2 [NU]
RewriteRule ^category/(?!zb_)(.*)/$ /catalog.asp\?cate=$1 [NU]
RewriteRule ^author-([0-9]+)_([0-9]+).html$ /catalog.asp\?auth=$1&page=$2 [NU]
RewriteRule ^author-([0-9]+).html$ /catalog.asp\?auth=$1 [NU]
RewriteRule ^tags-([0-9]+)_([0-9]+).html$ /catalog.asp\?tags=$1&page=$2 [NU]
RewriteRule ^tags-([0-9]+).html$ /catalog.asp\?tags=$1 [NU]
RewriteRule ^post/([0-9\-]+)_([0-9]+)/$ /catalog.asp\?date=$1&page=$2 [NU]
RewriteRule ^post/([0-9\-]+)/$ /catalog.asp\?date=$1 [NU]
RewriteRule ^post/(?!zb_)(.*)/$ /view.asp\?id=$1 [NU]
RewriteRule ^(?!zb_)(.*)/$ /view.asp\?id=$1 [NU]

IIS7、7.5、8+Url Rewrite

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
 <rewrite>
  <rules>
    <rule name="//" stopProcessing="true">
     <match url="^(?!zb_)[^\.]+[^/]$"/>
     <action type="Redirect" redirectType="Permanent" url="{R:0}/"/>
    </rule>

    <rule name="Imported Rule Default+Page" stopProcessing="true">
     <match url="^default_([0-9]+)\.html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?page={R:1}" />
    </rule>
    <rule name="Imported Rule Category+Page" stopProcessing="true">
     <match url="^category-([0-9]+)_([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?cate={R:1}&page={R:2}" />
    </rule>
    <rule name="Imported Rule Category" stopProcessing="true">
     <match url="^category-([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?cate={R:1}" />
    </rule>
    <rule name="Imported Rule Author+Page" stopProcessing="true">
     <match url="^author-([0-9]+)_([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?auth={R:1}&page={R:2}" />
    </rule>
    <rule name="Imported Rule Author" stopProcessing="true">
     <match url="^author-([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?auth={R:1}" />
    </rule>
    <rule name="Imported Rule Tags+Page" stopProcessing="true">
     <match url="^tags-([0-9]+)_([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?tags={R:1}&page={R:2}" />
    </rule>
    <rule name="Imported Rule Tags" stopProcessing="true">
     <match url="^tags-([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?tags={R:1}" />
    </rule>
    <rule name="Imported Rule Date+Page" stopProcessing="true">
     <match url="^date-([0-9\-]+)_([0-9]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?date={R:1}&page={R:2}" />
    </rule>
    <rule name="Imported Rule Date" stopProcessing="true">
     <match url="^date-([0-9\-]+).html$" ignoreCase="false" />
     <action type="Rewrite" url="catalog.asp?date={R:1}" />
    </rule>
    <rule name="Imported Rule Article" stopProcessing="true">
     <match url="^post/(?!zb_)(.*).html$" ignoreCase="false" />
     <action type="Rewrite" url="view.asp?id={R:1}" />
    </rule>
    <rule name="Imported Rule Page" stopProcessing="true">
     <match url="^(?!zb_)(.*).html$" ignoreCase="false" />
     <action type="Rewrite" url="view.asp?id={R:1}" />
    </rule>
  </rules>
 </rewrite>
</system.webServer>
</configuration>

Nginx

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

if (-f $request_filename/index.html){
   rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
   rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
   rewrite (.*) /index.php;
}

在规则中加上以上代码即可给目录自动加上斜杠访问,防止出现404错误问题。

打赏
海报

声明:本站部分资源内容为站内原创著作,也有部分基于互联网公开分享整理,版权归原作者所有。
如侵犯到您的权益,请联系本站,我们会尽快处理,谢谢。转摘请注明出处

本文链接:http://www.umtheme.com/zblog/178.html

相关推荐

ZBlog系统强制网站目录链接统一加斜杠访问

ZBlog系统强制网站目录链接统一加斜杠访问

通常情况下,url在末尾处是否加上斜杠“/”,对用户访问是没有太大影响的,大多数的Web服务器均能正确解析,在传统意义上说,url末尾是没有反斜杠的,有没有反斜杠的意义在于该url是指向一个...

Zblog建站 2021.03.23 0 140

ZblogPHP统计文章中图片数量

ZblogPHP统计文章中图片数量

这也算是个比较常规的需求吧,尤其是对于图片类型的网站来说,一篇文章图片数量的显示对于增强用户的访问体验已经成为不可获取的功能之一,也可以...

Zblog建站 2020.09.03 0 556

zblog主题如何统计文章字数

zblog主题统计文章字数,实现比较简单直接,本质上就是php统计字符串的字数,将以下代码放到zblogphp文章详情页任何需要的位置即可{php}$umContent=trim(Transfer...

Zblog建站 2020.09.03 0 561

zblogPHP列表中如何过滤指定分类

zblogPHP列表中如何过滤指定分类

在zblogPHP主题开发过程中,难免有些用户有特殊需求,不想在首页或其它页面中显示某一指定分类的文章,那么该如何实现过滤掉某一分类呢?具体方法如下:1,打开主题目录下的include.php文件挂载...

Zblog建站 2020.09.01 0 628

zblogPHP如何修改文章阅读量

zblogPHP如何修改文章阅读量

很多网站访问量比较少,尤其是对于新站来说,有时发布的文章几天下来阅读量一直上不去,甚至还保留在个位数,这样看起来难免会有些尴尬,如何打破这种尴尬?zblogPHP文章阅读量可以修改吗?答案是肯定的,修...

Zblog建站 2020.08.20 0 577

发布评论

ainiaobaibaibaibaobaobeishangbishibizuichiguachijingchongjingdahaqiandaliandangaodw_dogedw_erhadw_miaodw_tuzidw_xiongmaodw_zhutouganbeigeiliguiguolaiguzhanghahahahashoushihaixiuhanheixianhenghorse2huaixiaohuatonghuaxinhufenjiayoujiyankeaikeliankouzhaokukuloukunkuxiaolandelinileimuliwulxhainiolxhlikelxhqiuguanzhulxhtouxiaolxhwahahalxhzanningwennonuokpinganqianqiaoqinqinquantouruoshayanshengbingshiwangshuaishuijiaosikaostar0star2star3taikaixintanshoutianpingtouxiaotuwabiweifengweiquweiwuweixiaowenhaowoshouwuxiangjixianhuaxiaoerbuyuxiaokuxiaoxinxinxinxinsuixixixuyeyinxianyinyueyouhenghengyuebingyueliangyunzanzhajizhongguozanzhoumazhuakuangzuohenghengzuoyi

感谢您的支持