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

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

栏目/文章/标签等应用 Rewrite规则示例_基本用法

管理员 2024-12-15
iCMS
2


系统URL设置如图


文章和栏目设置如图

标签设置
标签设置如图

如果您的配置跟图中有不同之处

下面Rewrite规则请做相应该的修改

你要原封不动复制粘贴,造成访问不了。

那就好自为之吧,我只能帮你到这了。也别到群里问。

到于什么是Rewrite,APACHE/nginx怎么设置Rewrite 请自行google

最后设置完成后,最好看下最终的网址路径是什么样子的

做适应的调整

由于标签URL规则优化级

标签指定URL > 标签分类 > 标签所属栏目 > 默认配置

所以当前规则 使用标签所属栏目规则 /{CDIR}/{TKEY}{EXT}

rewrite 规则

  • 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;##栏目rewrite "^/(w+)/$"                                        /category.php?dir=$1 last;rewrite "^/(w+)/index.html$"                        /category.php?dir=$1 last;rewrite "^/(w+)/index_(d+).html$"               /category.php?dir=$1&page=$2 last;##标签 使用标签所属栏目规则 /{CDIR}/{TKEY}{EXT},##当前TKEY生成是没有分隔符的 所以用w+匹配 ##如果有分隔符的话,要把分隔符也在加规则里去##例如:([w-]+) -为分隔符rewrite "^/.+/([w-]+).html$"              /tag.php?tkey=$1 last;rewrite "^/.+/([w-]+)_(d+).html$"        /tag.php?tkey=$1&page=$2 last;

如果程序安装在网站根目录的话
由于后台编辑器上的链接分别为
/app/admincp/ui/ueditor/dialogs/image/image.html
/app/admincp/ui/ueditor/dialogs/video/video.html
会被上面的标签伪静态规则匹配到,造成显示404或者显示找不到该标签
那么就将标签的伪静态规则改成如下

rewrite "^/(?!app/admincp).+/([w-]+).html$" /tag.php?tkey=$1 last;rewrite "^/(?!app/admincp).+/([w-]+)_(d+).html$" /tag.php?tkey=$1&page=$2 last;
  • apache
RewriteEngine onRewriteBase /##文章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]##栏目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]##标签 使用标签所属栏目规则 /{CDIR}/{TKEY}{EXT},##当前TKEY生成是没有分隔符的 所以用w+匹配 ##如果有分隔符的话,要把分隔符也在加规则里去##例如:([w-]+) -为分隔符RewriteRule ^/.+/([w-]+).html$              tag.php?tkey=$1 last;RewriteRule ^/.+/([w-]+)_(d+).html$        tag.php?tkey=$1&page=$2 last;
  • IIS (未测试正确性,如有问题请自行修改)
<rule name="文章规则1" stopProcessing="true"><match url="^w+/d+/d+/(d+).html$" ignoreCase="false" /><action type="Rewrite" url="article.php?id={R:1}" appendQueryString="false" /></rule><rule name="文章规则2" stopProcessing="true"><match url="^w+/d+/d+/(d+)_(d+).html$" ignoreCase="false" /><action type="Rewrite" url="article.php?id={R:1}&amp;p={R:2}" appendQueryString="false" /></rule><rule name="栏目1" stopProcessing="true"><match url="^(w+)/$" ignoreCase="false" /><action type="Rewrite" url="category.php?dir={R:1}" appendQueryString="false" /></rule><rule name="栏目2" stopProcessing="true"><match url="^(w+)/index.html$" ignoreCase="false" /><action type="Rewrite" url="category.php?dir={R:1}" appendQueryString="false" /></rule><rule name="栏目3" stopProcessing="true"><match url="^(w+)/index_(d+).html$" ignoreCase="false" /><action type="Rewrite" url="category.php?dir={R:1}&amp;page={R:2}" appendQueryString="false" /></rule><rule name="标签规则1" stopProcessing="true"><match url="^.+/([w-]+).html$" ignoreCase="false" /><action type="Rewrite" url="tag.php?tkey={R:1}" appendQueryString="false" /></rule><rule name="标签规则2" stopProcessing="true"><match url="^.+/([w-]+)_(d+).html$" ignoreCase="false" /><action type="Rewrite" url="tag.php?tkey={R:1}&amp;page={R:2}" appendQueryString="false" /></rule>

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部