您现在的位置: 首页php+mysql>正文
dedecms企业黄页和tags伪静态的方法:iis-rewrite的配置
2010年12月01日 php+mysql 评论数 2

方法
1、先去下载IIS-Rewrite,下载地址:http://www.isapirewrite.com/
2、安装iis-rewrite。然后打开“控制面板”-“管理工具”-“IIS信息服务管理器”-“网站”-“您的站点 ”-“属性”。在“ISAPI筛选器”项点击 “添加”,筛选器名称填入Rewrite,可执行文件为C:\Rewrite\Rewrite.dll(你放置iis-rewrite的地方);

3、然后修改httpd.ini 文件,添加相应的过滤规则,例如:

RewriteRule ^(.*)/([a-z0-9\-\_]+)$ $1/Default\.aspx\?id=$2 [I,O]
http://hackerfans.com/Text 就会等同于 http://hackerfans.com/Default.aspx?id=Text

RewriteRule ^(.*)/id_([a-z0-9\-]+)\.html$ $1/Default\.aspx\?id=$2 [I,O]
http://hackerfans.com/id_Text.html 就会等同于 http://hackerfans.com/Default.aspx?id=Text

^(.*)/html/([0-9]+)/([0-9]+)\.html$ $1/Default\.aspx\?id=$2&name=$3
http://hackerfans.com/html/001/007.html 就等同于 http://hackerfans.com/Default.aspx?id=001&name=007

DEDE的实现方法(注意:这是网上搜集的,正则表达式方式):

RewriteRule ^(.*)/tag/(.+)$ $1/tag\.php\?$2/
RewriteRule ^(.*)/tag/(.+)\.html$ $1/tag\.php\?$2

下面是我自己用的,大家举一反三吧,我的规则如下:

# tags
RewriteRule ^(.*)/tags\.html$ $1/tags\.php
RewriteRule ^(.*)/tags/(.+)$ $1/tags.php?/$2/

# 企业黄页
RewriteRule ^(.*)/province-(.*).html$ $1/index\.php\?province=$2
RewriteRule ^(.*)/vocation-(.*).html$ $1/index\.php\?vocation=$2
RewriteRule ^(.*)/list-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index\.php\?cname=&nativeplace=$2&vocation=$3&totalresult=$4&pageno=$5
RewriteRule ^(.*)/list-(.*)-([0-9]+)-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/index\.php\?cname=$2&nativeplace=$3&vocation=$4&totalresult=$5&pageno=$6
RewriteRule ^(.*)/member/com-(.*).html$ $1/member/index\.php\?uid=$2
RewriteRule ^(.*)/member/(.*).html$ $1/member/index\.php\?uid=$2

实现的url效果:

tags效果演示:
http://hackerfans.com/tags/我爱matrix/ 等同于 http://hackerfans.com/tags.php?/我爱matrix/
企业黄页效果演示:
http://hackerfans.com/member/com-iammatrix.html 等同于 http://hackerfans.com/member/index.php?uid=iammatrix

4、重新启动IIS就可以生效了(这一步很重要,每次修改httpd.ini后都要重启 IIS 以加载配置。)

5、然后修改DEDE相关函数:

\include\inc_arcpart_view.php
\include\inc_channel_unit_functions.php
\include\inc_pubtag_make.php
\include\inc_taglist_view.php

即:把所有链接改为静态地址:tag.php?/ ->tag/

然后再生成相关页面就可以了。

注意,在实际的测试中可能会遇到编码问题 该怎么解决呢?看看下篇文章吧,地址:
http://hackerfans.com/blog/hacker-skills/php-mysql/iis-rewrite-php-gb2312-luanma.html

目前有 2 条留言 其中:访客:0 条, 博主:0 条 引用: 2

    给我留言