栏目/文章/标签等应用 Rewrite规则说明
很多人在问iCMS 伪静态(rewrite)怎么设置
iCMS的URL规则都是可以自定义的,自由度非常高.
可以组成各种各样的URL
就看您喜欢什么样的
下面简单介绍下常用的设置
开启 伪静态(rewrite)
iCMS的应用rewrite需要在栏目设置
中开启
没开启前以动态链接显示
应用 | 链接 | 分页链接 |
---|---|---|
栏目/分类 | /category.php?cid=1 | /category.php?cid=1&page=1 |
文章 | /article.php?id=1 | /article.php?id=1&p=1 |
标签 | /tag.php?id=1 | /tag.php?id=1&page=1 |
选择栏目设置 ->URL规则设置->访问模式
然后设置URL规则
静态目录
一般为栏目名自动生成的拼音,可以自定义
栏目URL规则
举个栗子
- 栏目目录
规则 | 生成链接 |
---|---|
{CDIR}/index{EXT} | http://www.ooxx.com/test/index.html |
/{CDIR}/ | http://www.ooxx.com/test/ |
/{CDIR} | http://www.ooxx.com/test |
/ooxx/{CDIR} | http://www.ooxx.com/ooxx/test |
- 栏目ID
规则 | 生成链接 |
---|---|
/{CID}/ | http://www.ooxx.com/1/ |
/{CID} | http://www.ooxx.com/1 |
/ooxx/{CID}/ | http://www.ooxx.com/ooxx/1/ |
栏目规则有{CID}的 rewrite
/{CID}/
nginx
rewrite "^/(d+)(/|/index.html)$" /category.php?cid=$1 last;rewrite "^/(d+)/index_(d+).html$" /category.php?cid=$1&page=$2 last; #这个是分页
apache
RewriteRule ^(d+)(/|/index.html)$ category.php?cid=$1 [L]RewriteRule ^(d+)/index_(d+).html$ category.php?cid=$1&page=$2 [L]
/ooxx/{CID}/
nginx
rewrite "^/ooxx/(d+)(/|/index.html)$" /category.php?cid=$1 last;rewrite "^/ooxx/(d+)/index_(d+).html$" /category.php?cid=$1&page=$2 last; #这个是分页
apache
RewriteRule ^ooxx/(d+)(/|/index.html)$ category.php?cid=$1 [L]RewriteRule ^ooxx/(d+)/index_(d+).html$ category.php?cid=$1&page=$2 [L]
/list-{CID}-{P}.html
nginx
rewrite "^/list-(d+)-(d+).html$" /category.php?cid=$1&page=$2 last;
apache
RewriteRule ^list-(d+)-(d+).html$ category.php?cid=$1&page=$2 [L]
栏目规则有{CDIR}的 rewrite
/{CDIR}/
nginx
rewrite "^/(w+)(/|/index.html)$" /category.php?dir=$1 last;rewrite "^/(w+)/index_(d+).html$" /category.php?dir=$1&page=$2 last; #这个是分页
apache
RewriteRule ^(w+)/$ category.php?dir=$1 [L]RewriteRule ^(w+)/index.html$ category.php?dir=$1 [L]RewriteRule ^(w+)/index_(d+).html$ category.php?dir=$1&page=$2 [L]
/ooxx/{CDIR}/
nginx
rewrite "^/ooxx/(w+)(/|/index.html)$" /category.php?dir=$1 last;rewrite "^/ooxx/(w+)/index_(d+).html$" /category.php?dir=$1&page=$2 last;
apache
RewriteRule ^ooxx/(w+)/$ category.php?dir=$1 [L]RewriteRule ^ooxx/(w+)/index.html$ category.php?dir=$1 [L]RewriteRule ^ooxx/(w+)/index_(d+).html$ category.php?dir=$1&page=$2 [L]
栏目的分页规则跟栏目的首页规则是一样的
但是{P}
要对应&page=
内容规则
就是文章的URL
举个栗子
规则 | 链接 |
---|---|
{CDIR}/{YYYY}/{MM}{DD}/{ID}{EXT} | http://www.ooxx.com/test/2015/0115/1.html |
{CDIR}/{ID}.html | http://www.ooxx.com/test/1.html |
/ooxx/{ID}.html | http://www.ooxx.com/ooxx/1.html |
/a/{ID}.html | http://www.ooxx.com/a/1.html |
/a/{0xID}.html | http://www.ooxx.com/a/0000001.html |
/{CDIR}/{LINK}{EXT} | http://www.ooxx.com/test/自定义链接.html |
一般要包含{ID}
或者{0xID}
或者{LINK}
文章rewrite
{CDIR}/{YYYY}/{MM}{DD}/{ID}{EXT}
nginx
rewrite "^/w+/d+/d+/(d+).html$" /article.php?id=$1 last;rewrite "^/w+/d+/d+/(d+)_(d+).html$" /article.php?id=$1&p=$2 last;
apache
RewriteRule ^w+/d+/d+/(d+).html$ article.php?id=$1 [L]RewriteRule ^w+/d+/d+/(d+)_(d+).html$ article.php?id=$1&p=$2 [L]
{CDIR}/{ID}.html
nginx
rewrite "^/w+/(d+).html$" /article.php?id=$1 last;rewrite "^/w+/(d+)_(d+).html$" /article.php?id=$1&p=$2 last;
apache
RewriteRule ^w+/(d+).html$ article.php?id=$1 [L]RewriteRule ^w+/(d+)_(d+).html$ article.php?id=$1&p=$2 [L]
/a/{0xID}.html
nginx
rewrite "^/a/(d+).html$" /article.php?id=$1 last;rewrite "^/a/(d+)_(d+).html$" /article.php?id=$1&p=$2 last;
apache
RewriteRule ^a/(d+).html$ article.php?id=$1 [L]RewriteRule ^a/(d+)_(d+).html$ article.php?id=$1&p=$2 [L]
其它的以此类推
标签的rewrite
标签URL规则
规则 | 链接 |
---|---|
{PHP} | /tag.php?id=1 |
{ID} | http://www.ooxx.com/tag/1 |
{TKEY} | http://www.ooxx.com/tag/test |
{ZH_CN} | http://www.ooxx.com/tag/中文 |
{ID}
nginx
rewrite "^/tag/(d+)(/|/index.html)$" /tag.php?id=$1 last;rewrite "^/tag/(d+)/index_(d+).html$" /tag.php?id=$1&page=$2 last;
apache
RewriteRule ^tag/(d+)$ tag.php?id=$1 [L]RewriteRule ^tag/(d+)/index.html$ tag.php?id=$1 [L]RewriteRule ^tag/(d+)/index_(d+).html$ tag.php?id=$1&page=$2 [L]
{TKEY}
nginx
rewrite "^/tag/(w+)(/|/index.html)$" /tag.php?tkey=$1 last;rewrite "^/tag/(w+)/index_(d+).html$" /tag.php?tkey=$1&page=$2 last;
apache
RewriteRule ^tag/(w+)$ tag.php?tkey=$1 [L]RewriteRule ^tag/(w+)/index.html$ tag.php?tkey=$1 [L]RewriteRule ^tag/(w+)/index_(d+).html$ tag.php?tkey=$1&page=$2 [L]
{ZH_CN}或者 {NAME}
nginx
rewrite "^/tag/(.+)(/|/index.html)$" /tag.php?name=$1 last;rewrite "^/tag/(.+)/index_(d+).html$" /tag.php?name=$1&page=$2 last;
apache
RewriteRule ^tag/(.+)$ tag.php?name=$1 [L]RewriteRule ^tag/(.+)/index.html$ tag.php?name=$1 [L]RewriteRule ^tag/(.+)/index_(d+).html$ tag.php?name=$1&page=$2 [L]
IIS的rewrite 自己根据上面的规则修改下
在此就不做介绍
有人想说 我不清楚rewrite是什么...
那就自己google 百度一下 先自己搞清楚了
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。