强制目录链接统一以斜线结尾【301】

超级版主 沉冰浮水 2018-4-28 6960

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>

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;
}

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>

「QQ群:我的咸鱼心」「「水坑」系列教程索引
我大概率能够解决你实际面临的问题(收费),只是”你提出的问题“要如何回答则可能是另一个问题。

最后于 2021-3-23 被沉冰浮水编辑 ,原因:
返回