Discuz与Ecshop最新的IIS Rewrite伪静态规则

  我搞了2个小站一个论坛 一个网店 一直想同时实现伪静态,测试了很多次都没有成功。在网上找了很多Rewrite伪静态规则都不管用失败的主要是ecshop 。最后求助admin5的汉三哥哥帮我从新写了一份规则:)。

  现在提供给大家,希望可以帮到更多和我一样情况的哥哥姐姐们。

  Discuz 的设置就不说了 官方有的,这里重点说下ecshop 请在后台设置URL重写如下图:

  

  设置好后清下缓存。然后来配置Rewrite

  首先安装此组件需要有服务器操作权限

  安装环境:windows2003 + iis

  安装说明:

  1. 将 Rewrite 文件夹 拷贝到 c:\Rewrite (这里我测试放在别处不行)

  2. 在IIS的Isapi上添加这个筛选器, 筛选器名称Rewrite,可执行文件选择 Rewrite.dll

  (这步如果让整台服务器上的网站支持,就加在iis上的 网站==>右键 属性==>ISAPI筛选器 ,如果只支持一个网站,就加在这一个网站上)

  3. 重新启动IIS

  4. httpd.ini 是配置文件,如果您了解Rewrite 规则,可以直接对其进行编辑

  5. 写好的默认规则为 支持Discuz!6.0.0 与ecshop

  httpd.ini 完整 写法如下:

  ---------------------------------------

  [ISAPI_Rewrite]

  CacheClockRate 3600

  RepeatLimit 32

  RewriteCond %{HTTP_HOST}

  RewriteRule /index.html /index.php [I]

  RewriteRule /default.html /index.php [I]

  RewriteRule /feed.xml /feed.php [I]

  RewriteRule /category-([0-9]+).html /category.php?id=$1

  RewriteRule /category-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+).html /category\.php\?id=$1&page=$2&sort=$3&order=$4 [I]

  RewriteRule ^(.*)/goods-([0-9]+)\.html$ $1/goods.php?id=$2

  RewriteRule /article_cat-([0-9]+).html /article_cat\.php\?id=$1 [I]

  RewriteRule /article_cat-([0-9]+)-([0-9]+).html /article_cat\.php\?id=$1&page=$2 [I]

  RewriteRule /article_cat-([0-9]+)-([0-9]+)-(.+)-([a-zA-Z]+).html /article_cat\.php\?id=$1&page=$2&sort=$3&order=$4 [I]

  RewriteRule /article-([0-9]+).html /article\.php\?id=$1 [I]

  RewriteRule /search-b([0-9]+) /search\.php\?brand=$1 [I]

  RewriteRule /search-([0-9]+)-([^-]*)-([a-zA-Z]+)-k(.*).html /search\.php\?page=$1&sort=$2&order=$3&keywords=$4 [I]

  RewriteRule /search-([0-9]+)-([^-]*)-([a-zA-Z]+)-b([0-9]*)-k(.*)-s([0-9]*)-l([0-9]*).html /search\.php\?page=$1&sort=$2&order=$3&brand=$4&keywords=$5&min_price=$6&max_price=$7 [I]

  #discuz

  RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4

  RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4

  RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4

  RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4

  RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3

  OK 重启IIS 就可以生效啦。

  嘿嘿~最后再次感谢 Discuz 、感谢ECSHOP、 感谢admin5、还有我最最亲爱的汉三哥哥。

  还有还有很多很多热心帮助我们新手的好心人,真的谢谢你们。这个冬天有你很温暖。

  最后是不是还要给大家留个演示呢?

  花花想还是留下吧,免得大家心里没底。真的不想做广告噢。

  演示地址:

  1.本本论坛:www.bbenw.com

  2.小家电: www.cyxjd.cn

  花花是新手 请各位大家多多指教,多给点鼓励,少一点板砖,谢谢大家!

时间: 2024-09-20 00:35:05

Discuz与Ecshop最新的IIS Rewrite伪静态规则的相关文章

ecshop中iis/apache伪静态规则配置示例

apache下的伪静态规则范例 复制下面这段代码,然后存为 .htaccess 放到站点的根目录下面就行了.(请确保您的空间/服务器是安装的apache,如果是iis,请参考代潇瑞博客中的 ecshop在iis下的伪静态规则范例)  代码如下 复制代码 <FilesMatch "\.(bak|inc|lib|sh|tpl|lbi|dwt)$">     order deny,allow     deny from all </FilesMatch> Rewrit

Nginx系列教程:常用PHP程序Rewrite(伪静态规则)

Rewrite主要的功能就是实现URL的重写,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式.如果要想用到rewrite模块,必须先安装或加载rewrite模块. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的Nginx Rewrite规则语法如下: rewrite ^/b/(.*)\.html

iis rewrite伪静态中文无效问题解决方法

今天在处理一个tag页面的时候.由于需要用到伪静态功能.在rewrite的时候 原因是其中的中文Unicode信息会被ISAPI_Rewrite转为uft-8的格式编码我们只需要在相应的伪静态规则后加[NU]参数即可禁止编码转换, 例如  代码如下 复制代码 RewriteRule ^/shop-(.*).html$ /shop.php?nick=$1 [NU] 这样就支持中文了..写下来方便以后使用. 注:以上方法在IIS下有用.在apache下可以无视. 方法二,此方法可以用于iis伪静态与

apache与nginx中的rewrite伪静态规则分析

1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if.rewrite.set.return.break等,其中rewrite是最关键的指令.一个简单的 Nginx Rewrite规则语法如下:    代码如下 复制代码 rewrite ^/b/(.*).html /play.php?video=$1 break;   如果加上if语句,示例如下:  代码如下 复制代码 if (!-f $request_filename) { rewrite ^/img/(.

nginx rewrite 伪静态地址自动补全的方法实现

nginx+php 使用的时候经常需要伪静态,一般大家都手动设置.那有没有办法让 nginx 自动补全路径呢? 这两天折腾很久,才实现了这样一个功能:请求 /a/b/c若文件不存在,查找 /a/b/index.php,/c 作为 PATH_INFO:若文件不存在,查找 /a/index.php,/b/c 作为 PATH_INFO:若文件不存在,查找 /index.php,/a/b/c 作为 PATH_INFO:若文件不存在,返回 404. 虽然这种损耗性能的行为不适合部署,但在本机调试的时候还是

IS设置伪静态方法(IIS Rewrite组件)

注:iis rewrite简单使用方法介绍:一个功能强大的url处理引擎,功能和apache的 mod_rewrite类似,这个是for iis版本 可以把像list.asp教程?id=234 这样的链接映射成 list/234.html 这样就有利于在gg中的排名 完全版(full)与简化版(lite)的最大的区别在于可以让每个站点自定义url重写规则(rewrite rule),也就是只要将写好的httpd.ini放在站点根目录,就能使用了. 安装说明:下载后可以解压出 isapi_rewr

Tipask 2.5版IIS ISAPI rewrite 2.0伪静态规则

  以下伪静态规则适用于服务器为windows系统IIS之ISAPI rewrite 2.0版本,为完美解决Tipask2.5版伪静态规则.   规则如下,全文复制即可,如有其它规则,请检查是否会存在冲突导致部分规则失效,尽量单独使用.   [ISAPI_Rewrite]   # 3600 = 1 hour   CacheClockRate 3600   RepeatLimit 32   RewriteRule ^(.*)/q-(.*).html*$ $1/?q-$2.html   Rewrit

IIS实现伪静态不需要Rewrite组件

IIS实现伪静态不需要Rewrite组件现在的iis站点都可以自定义404错误页面,打开本机IIS网站,查看属性-自定义错误,找到404错误,双击修改其消息类型为URL,Url设置为网站根目录下文件的绝对路径. 譬如设置网站更目录下404.asp 设置url为 /404.asp,主要是修改我们修改404.asp 原理如下 比如网站首页 http://www.**********.com/index.asp,文章的url形式如下http://www.**********.com/Class/sho

Windows 2003中Rewrite组件为IIS设置伪静态

下载后可以解压出 ISAPI_Rewrite.dll ,httpd.ini 这两个文件放到某个文件夹下面,然后在 IIS 站点属性的 ISAPI 中加载 ISAPI_Rewrite.dll  就可以了, httpd.ini  是配置文件里面有例子.如果加载不成功的话 请给 ISAPI_Rewrite.dll   安全属性为完全. 2.在"IIS管理器"里选择网站,右键,属性. 3.选择"ISAPI",点击"添加". 4.填入筛选器名称,如&quo