PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > iCMS

文章/栏目/标签等应用rewrite配置_基本用法

管理员 2024-12-15
iCMS
5

栏目/文章/标签等应用 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}.htmlhttp://www.ooxx.com/test/1.html
/ooxx/{ID}.htmlhttp://www.ooxx.com/ooxx/1.html
/a/{ID}.htmlhttp://www.ooxx.com/a/1.html
/a/{0xID}.htmlhttp://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修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部