一、web.config
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404" />
<error statusCode="404" path="/404.php" responseMode="ExecuteURL" />
</httpErrors>
<rewrite>
<rules>
<rule name="规则 1" stopProcessing="true">
<match url="^showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="/e/action/ShowInfo.php?classid={R:1}&id={R:2}&page={R:3}" appendQueryString="false" />
</rule>
<rule name="规则 2" stopProcessing="true">
<match url="^listinfo-([0-9]+)-([0-9]+).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="/e/action/ListInfo/index.php?classid={R:1}&page={R:2}" appendQueryString="false" />
</rule>
<rule name="规则 3" stopProcessing="true">
<match url="^infotype-([0-9]+)-([0-9]+).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="/e/action/InfoType/index.php?ttid={R:1}&page={R:2}" appendQueryString="false" />
</rule>
<rule name="规则 4" stopProcessing="true">
<match url="^tags-(etagid[0-9]+)-([0-9]+).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="/e/tags/index.php?tagname={R:1}&page={R:2}" appendQueryString="false" />
</rule>
<rule name="规则 5" stopProcessing="true">
<match url="^comment-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="/e/pl/index.php?doaction={R:1}&classid={R:2}&id={R:3}&page={R:4}&myorder={R:5}&tempid={R:6}" appendQueryString="false" />
</rule>
<rule name="规则 6" stopProcessing="true">
<match url="^([0-9a-zA-Z-/]+)/(|index.html|index_[0-9]+.html)$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{R:1}" pattern="^(d/|e/|html/|images/|s/|search/|skin/|t/|ad/|ebak/|web/|m2/|api)" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/e/action/list.php?classid={R:1}&page={R:2}" appendQueryString="false" />
</rule>
<rule name="规则 7" stopProcessing="true">
<match url="^([0-9a-zA-Z-/]+)/([0-9a-zA-Z]+)([_0-9]*).html$" />
<conditions logicalGrouping="MatchAll">
<add input="{QUERY_STRING}" pattern="^(.*)$" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{R:1}" pattern="^(d/|e/|html/|images/|s/|search/|skin/|t/|ad|ebak/|web/|m2/|api)" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="/e/action/show.php?classid={R:1}&id={R:2}&page={R:3}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
<httpRedirect enabled="false" />
</system.webServer>
</configuration>
二、ninx
rewrite ^/showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 last;
rewrite ^/listinfo-([0-9]+)-([0-9]+).html$ /e/action/ListInfo/index.php?classid=$1&page=$2 last;
rewrite ^/infotype-([0-9]+)-([0-9]+).html$ /e/action/InfoType/index.php?ttid=$1&page=$2 last;
rewrite ^/tags-(etagid[0-9]+)-([0-9]+).html$ /e/tags/index.php?tagname=$1&page=$2 last;
rewrite ^/comment-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-(.+?).html$ /e/pl/index.php?doaction=$1&classid=$2&id=$3&page=$4&myorder=$5&tempid=$6 last;
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if ($request_uri !~ "^(/d/|/e/|/html/|/images/|/s/|/search/|/skin/|/t/|/ad/)"){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/([0-9a-zA-Z-/]+)/(|index.html|index_[0-9]+.html)$ /e/action/list.php?classid=$1&page=$2 last;
rewrite ^/([0-9a-zA-Z-/]+)/([0-9a-zA-Z]+)([_0-9]*).html$ /e/action/show.php?classid=$1&id=$2&page=$3 last;
}
if (!-e $request_filename) {
return 404;
}
三、htaccess:
RewriteEngine On
ErrorDocument 404 /404.php
Rewritebase /
#信息内容页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 [NC,L]
#信息列表
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-([0-9]+)-([0-9]+).html$ /e/action/ListInfo/index.php?classid=$1&page=$2 [NC,L]
#标题分类列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-([0-9]+)-([0-9]+).html$ /e/action/InfoType/index.php?ttid=$1&page=$2 [NC,L]
#TAGS信息列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(etagid[0-9]+)-([0-9]+).html$ /e/tags/index.php?tagname=$1&page=$2 [NC,L]
#评论列表页
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^comment-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+).html$ /e/pl/index.php?doaction=$1&classid=$2&id=$3&page=$4&myorder=$5&tempid=$6 [NC,L]
#栏目自定义伪静态 默认添加.html 后缀更多的后缀自行添加
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/|ad/|ebak/|web/|m2/|api)
RewriteRule ^([0-9a-zA-Z-/]+)/(|index.html|index_[0-9]+.html)$ /e/action/list.php?classid=$1&page=$2 [NC,L]
#内容自定义伪静态 默认添加.html 后缀更多的后缀自行添加
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(d/|e/|html/|images/|s/|search/|skin/|t/|ad|ebak/|web/|m2/|api)
RewriteRule ^([0-9a-zA-Z-/]+)/([0-9a-zA-Z]+)([_0-9]*).html$ /e/action/show.php?classid=$1&id=$2&page=$3 [NC,L]
补充一条
rewrite ^/html/([a-z0-9]+)([_0-9]*).html$ /e/action/show.php?classid=113&id=$1&page=$2;
帝国cms宝塔伪静态
rewrite ^([^.]*)/listinfo-(.+?)-(.+?).html$ $1/e/action/ListInfo/index.php?classid=$2&page=$3 last;
rewrite ^([^.]*)/showinfo-(.+?)-(.+?)-(.+?).html$ $1/e/action/ShowInfo.php?classid=$2&id=$3&page=$4 last;
rewrite ^([^.]*)/infotype-(.+?)-(.+?).html$ $1/e/action/InfoType/index.php?ttid=$2&page=$3 last;
rewrite ^([^.]*)/tags-(.+?)-(.+?).html$ $1/e/tags/index.php?tagname=$2&page=$3 last;
rewrite ^([^.]*)/comment-(.+?)-(.+?)-(.+?)-(.+?)-(.+?)-(.+?).html$ $1/e/pl/index.php?doaction=$2&classid=$3&id=$4&page=$5&myorder=$6&tempid=$7 last;
if (!-e $request_filename) {
return 404;
}
其他
rewrite ^([^.]*)/([1-9][0-9]+?)/$ $1/e/action/ShowInfo.php?classid=$2 last;
rewrite ^([^.]*)/qq(.{7,})/$ $1/qq.php?vid=$2 last;
rewrite ^([^.]*)/youku(.{7,})/$ $1/youku.php?vid=$2 last;
if (!-e $request_filename) {
return 404;
}
四、
Apache
# 将 RewriteEngine 模式打开
RewriteEngine On
#信息内容页:showinfo-[!--classid--]-[!--id--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-(.+?)-(.+?)-(.+?)\.html$ /e/action/ShowInfo\.php\?classid=$1&id=$2&page=$3
#信息列表:listinfo-[!--classid--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-(.+?)-(.+?)\.html$ /e/action/ListInfo/index.php?classid=$1&page=$2
#标题分类列表页:infotype-[!--ttid--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-(.+?)-(.+?)\.html$ /e/action/InfoType/index.php?ttid=$1&page=$2
#TAGS信息列表页:tags-[!--tagname--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(.+?)-(.+?)\.html$ /e/tags/index.php?tagname=$1&page=$2
#打印页应该是 /print-栏目id-文章id
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^print-([0-9]+)-([0-9]+)\.html$ /e/DoPrint/?classid=$1&id=$2