帝国cms7.5伪静态规则,也就是针对动态网页URL比如列表动态页面、文章内容动态页面,搜索页面、评论页面进行的链接优化,对SEO在url链接的权重上有所提升,那么如何设置帝国cms的伪静态规则呢
1、伪静态参数设置
设置路径:后台--系统设置--伪静态参数设置--全部选择“默认”
2、不同建站环境伪静态规则写法
Apache下的.htaccess:
- RewriteEngine On
- 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-(.+?)-([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]
Nginx下伪静态:
- 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;
- }
IIS6下的httpd.ini:
- [ISAPI_Rewrite]
- # 3600 = 1 hour
- CacheClockRate 3600
- RepeatLimit 32
- #信息列表
- RewriteRule ^(.*)listinfo-(.+?)-(.+?).html$ $1/e/action/ListInfo/index.php?classid=$2&page=$3
- #信息内容页
- RewriteRule ^(.*)showinfo-(.+?)-(.+?)-(.+?).html$ $1/e/action/ShowInfo.php?classid=$2&id=$3&page=$4
- #标题分类列表页
- RewriteRule ^(.*)infotype-(.+?)-(.+?).html$ $1/e/action/InfoType/index.php?ttid=$2&page=$3
- #TAGS信息列表页
- RewriteRule ^(.*)tags-(.+?)-(.+?).html$ $1/e/tags/index.php?tagname=$2&page=$3
- #评论列表页
- RewriteRule ^(.*)comment-(.+?)-(.+?)-(.+?)-(.+?)-(.+?)-(.+?).html$ $1/e/pl/index.php?doaction=$2&classid=$3&id=$4&page=$5&myorder=$6&tempid=$7
IIS7下的web.config
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <system.webServer>
- <!--帝国7.5默认规则 IIS7的rule name不能重复相同-->
- <rewrite>
- <rules>
- <rule name="listinfo">
- <match url="^(.*/)*listinfo-(.+?)-(.+?).html?*(.*)$" />
- <action type="Rewrite" url="{R:1}/e/action/ListInfo/index.php?classid={R:2}&page={R:3}" />
- </rule>
- <rule name="showinfo">
- <match url="^(.*/)*showinfo-(.+?)-(.+?)-(.+?).html?*(.*)$" />
- <action type="Rewrite" url="{R:1}/e/action/ShowInfo.php?classid={R:2}&id={R:3}&page={R:4}" />
- </rule>
- <rule name="infotype">
- <match url="^(.*/)*infotype-(.+?)-(.+?).html?*(.*)$" />
- <action type="Rewrite" url="{R:1}/e/action/InfoType/index.php?ttid={R:2}&page={R:3}" />
- </rule>
- <rule name="tags">
- <match url="^(.*/)*tags-(.+?)-(.+?).html?*(.*)$" />
- <action type="Rewrite" url="{R:1}/e/tags/index.php?tagname={R:2}&page={R:3}" />
- </rule>
- <rule name="comment">
- <match url="^(.*/)*comment-(.+?)-(.+?)-(.+?)-(.+?)-(.+?)-(.+?).html?*(.*)$" />
- <action type="Rewrite" url="{R:1}/e/pl/index.php?doaction={R:2}&={R:3}&={R:4}&page={R:5}&myorder={R:6}&tempid={R:7}" />
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>
配置好后,记得刷新数据更新刷新信息页、内容页面、动态页面、自定义列表等等,同时需要重启对应的系统配置,比如nginx建站环境就需要重启nginx,伪静态规则才能生效!