Manyou诚邀开发者加盟 | 常见问题
《站长》俱乐部官方群公布 城市联络员机会多多
立即免费下载 Discuz!7.0.0 正式版
安装升级指南 | 用户手册 | 新手建站学堂
基于.net架构的Discuz!NT2.6正式版发布
Comsenz公司2009年招贤纳士,期待您的加盟
Discuz!收费服务内容及价格
7月重庆、成都、西安三地社区运营实战特训速报名
Discuz!/UCHome 专用官方虚拟主机
牧场新服一起联运:豆浆机免费带回家
基于Discuz!的免费论坛空间5D6D
康盛创想《站长》俱乐部18城市互动之旅报名ing
返回列表 回复 发帖

关于UC+SS+DZ+UCH的Rewrite规则设置(给新站长)

原文地址:http://bbs.cnwyw.net/thread-1576-1-1.html
有疑问的朋友可以回帖或者PM询问,我也是菜鸟站长,不过我看到会尽量回答的。



近日在升级Disucz!到6.1.0UC版,并且使用UCenter整合了SupeSite(SS)、UCenterHome(UCH)之后发现Rewrite规则之间存在冲突,导致一些正常的伪静态链接访问时出错或者自动返回首页。后来经过向官方下砂老师询问,总结出解决方法,不敢独享,拿出来与各位站长共同学习。

实际上问题并不复杂,原先我们安装了DZ+SS+XS(X-Space)的时候,Rewrite规则是放在一起的,后来加上UCH之后各应用间的规则互相有冲突所以导致了上述现象。只要将各应用的Rewrite规则分开就可以了。当然了,这个前提是,你的各应用要有自己的独立域名才行,或者设立虚拟目录,总之要能够在IIS里面添加各自的ISAPI筛选器才可以。

举例如下:
我的站点在主机IIS里面是这样分配的。
SS:http://www.cnwyw.net (服务器目录:X:\www\ss\)
DZ:http://bbs.cnwyw.net (服务器目录:X:\www\bbs\)
UCH:http://my.cnwyw.net (服务器目录:X:\www\uch\)

那么各个站点的Rewrite规则只要互相独立就行了。
SS在IIS中的SIAPI筛选器那里,添加Rewrite,服务器目录:X:\www\rewritess\rewrite.dll
DZ的是:X:\www\rewritedz\rewrite.dll
UCH的是:X:\www\rewriteuch\rewrite.dll

之后将各自的Rewrite规则写到相应目录的httpd.ini里面,全部搞定之后重启IIS。
如此一来,各站点(各应用)之间的Rewrite就不会互相冲突了。

下边顺便附上各应用的Rewrite规则的官方版本(IIS独立主机的规则,其余规则请查阅官方相关资料),本站现在用的就是这个,没有出现任何问题。

SS(Supesite6)的:
  1. [ISAPI_Rewrite]
  2. # 3600 = 1 hour
  3. CacheClockRate 3600
  4. RepeatLimit 32
  5. # SupeSite Rewrite规则
  6. # 独立主机用户
  7. # 修改以下语句中的 /supesite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /supesite 修改为 /
  8. RewriteRule ^/([0-9]+)$ /index\.php\?uid/$1 [L]
  9. RewriteRule ^/([0-9]+)/spacelist(.+)$ /index\.php\?uid/$1/action/spacelist/type$2 [L]
  10. RewriteRule ^/([0-9]+)/viewspace(.+)$ /index\.php\?uid/$1/action/viewspace/itemid$2 [L]
  11. RewriteRule ^/([0-9]+)/viewbbs(.+)$ /index\.php\?uid/$1/action/viewbbs/tid$2 [L]
  12. RewriteRule ^/([0-9]+)/(.*)$ /index\.php\?uid/$1/$2 [L]
  13. RewriteRule ^/action(.+)$ /index\.php\?action$1 [L]
  14. RewriteRule ^/category(.+)$ /index\.php\?action/category/catid$1 [L]
  15. RewriteRule ^/viewnews(.+)$ /index\.php\?action/viewnews/itemid$1 [L]
  16. RewriteRule ^/viewthread(.+)$ /index\.php\?action/viewthread/tid$1 [L]
  17. RewriteRule ^/mygroup(.+)$ /index\.php\?action/mygroup/gid$1 [L]
复制代码
DZ(Discuz!6.1.0)的:
  1. [ISAPI_Rewrite]
  2. # 3600 = 1 hour
  3. CacheClockRate 3600
  4. RepeatLimit 32
  5. # Protect httpd.ini and httpd.parse.errors files
  6. # from accessing through HTTP
  7. RewriteRule ^(.*)/archiver/((fid|tid)-[\w\-]+\.html)\?*(.*)$ $1/archiver/index\.php\?$2&$4
  8. RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html\?*(.*)$ $1/forumdisplay\.php\?fid=$2&page=$3&$4
  9. RewriteRule
  10. ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html\?*(.*)$
  11. $1/viewthread\.php\?tid=$2&extra=page\%3D$4&page=$3&$4
  12. RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4
  13. RewriteRule ^(.*)/tag-(.+)\.html\?*(.*)$ $1/tag\.php\?name=$2&$3
复制代码
UCH(UCenterHome1)的:
  1. [ISAPI_Rewrite]
  2. # 3600 = 1 hour
  3. CacheClockRate 3600
  4. RepeatLimit 32
  5. # UCHome Rewrite规则
  6. # 独立主机用户
  7. # 修改以下语句中的 /uchome 修改为你的uchome目录地址,如果程序放在根目录中,请将 /uchome 修改为 /
  8. RewriteRule ^/(space|network)-(.+)\.html$ /$1\.php\?rewrite=$2 [L]
  9. RewriteRule ^/(space|network)\.html$ /$1\.php [L]
  10. RewriteRule ^/([0-9]+)$ /space\.php\?uid=$1 [L]
复制代码
[ 本帖最后由 pollen 于 2008-4-30 12:03 编辑 ]
中国网友网
bbs.CNWYW.net
支持一下楼主,有没有三合一的
欢迎广大站长朋友入驻中国站长论坛www.hotwzw.cn(中国站长论坛:是全国站长朋友扎堆的好地方!)
原帖由 建站铺 于 2008-5-1 04:56 发表
支持一下楼主,有没有三合一的
就是因为三合一会出现冲突,所以才要分开的嘛^o^。如果三合一可行的话,我这主题也就没必要了。
中国网友网
bbs.CNWYW.net
本帖最后由 jourkey 于 2009-3-18 15:19 编辑

伪静态开启后在整个UCH中把所有会员的地址改为
http://www.abcd.com/1234
而不是
http://www.abcd.com/space_1234.html
就是说比如我在随便看看页面中想访问某个会员的空间,我点击进去的是上面一个地址,而不是下面那个,请问这个规则怎么写
下砂庄园 or 有问题先点击这里搜索吧!
“点击获取二次开发和技术支持增值服务” and加下我吧,奴隶社会
修改版权的  请尊重下自己吧!已解决的问题 请修改为已解决!!!
很详细。。。。
伪静态开启后在整个UCH中把所有会员的地址改为
http://www.abcd.com/1234
而不是
http://www.abcd.com/space_1234.html
就是说比如我在随便看看页面中想访问某个会员的空间,我点击进去的是上面一个地址,而不是 ...
jourkey 发表于 2009-3-18 15:17
我也想知道

http://www.ixbren.net/home/?6189

我的网站上,个人空间的域名内都有问号,为何6189前面有个问号"?"

如何将会员所有的域名前都取消那个问号???

如果域名是http://www.ixbren.net/home/6189

没有那个问号多好啊

官方网站的都没有那个问号
返回列表