Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Discuz!6.0+SupeSite5.5.2/X-Space3.0.2 Rewrite 设置说明

[复制链接]
安笛 发表于 2007-7-27 15:30:06 | 显示全部楼层 |阅读模式
Apache独立主机rewrite规则

设置步骤如下:

1、首先确定您使用的 Apache 版本,及是否加载了 mod_rewrite 模块。

Apache 1.x 的用户请检查 conf/httpd.conf 中是否存在如下两段代码:

LoadModule rewrite_module     libexec/mod_rewrite.so

AddModule mod_rewrite.c

Apache 2.x 的用户请检查 conf/httpd.conf 中是否存在如下一段代码:

LoadModule rewrite_module modules/mod_rewrite.so


2、如果存在,那么在配置文件(通常就是 conf/httpd.conf)中加入如下代码。改好后然后将 Apache 重启。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)/archiver/((fid|tid)-[0-9]+\.html)$ $1/archiver/index.php?$2
RewriteRule ^(.*)/forum-([0-9]+)-([0-9]+)\.html$ $1/forumdisplay.php?fid=$2&page=$3
RewriteRule ^(.*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3
RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
RewriteRule ^(.*)/tag-(.+)\.html$ $1/tag.php?name=$2
               
RewriteRule ^/([0-9]+)/spacelist(.+)$ /index.php?uid/$1/action/spacelist/type$2 [L]
RewriteRule ^/([0-9]+)/viewspace(.+)$ /index.php?uid/$1/action/viewspace/itemid$2 [L]
RewriteRule ^/([0-9]+)/viewbbs(.+)$ /index.php?uid/$1/action/viewbbs/tid$2 [L]
RewriteRule ^/([0-9]+)/(.*)$ /index.php?uid/$1/$2 [L]
RewriteRule ^/([0-9]+)$ /index.php?uid/$1 [L]

RewriteRule ^/action(.+)$ /index.php?action$1 [L]
RewriteRule ^/category(.+)$ /index.php?action/category/catid$1 [L]
RewriteRule ^/viewnews(.+)$ /index.php?action/viewnews/itemid$1 [L]
RewriteRule ^/viewthread(.+)$ /index.php?action/viewthread/tid$1 [L]
RewriteRule ^/mygroup(.+)$ /index.php?action/mygroup/gid$1 [L]


</IfModule>


注意:将LoadModule rewrite_module modules/mod_rewrite.so前的#号去掉!!

如果没有安装 mod_rewrite,linux服务器您可以重新编译 Apache,并在原有 configure 的内容中加入 --enable-rewrite=shared,然后再在 Apache 配置文件中加入上述代码即可。
win服务器,直接在httpd.conf里添加
LoadModule rewrite_module modules/mod_rewrite.so

3、注意,如上红色部分需要根据您安装SupeSite的路径进行调整,调整方法如下:


如果您的SupeSite需要域名后面加目录名的方式才可以访问,那么,您需要手工修改以下规则:

将 “^/”                 修改为 “^/xxx/”
将 “/index.php”         修改为 “/xxx/index.php”

其中,xxx 为您的程序目录名



最后标注一下:在以上的Rewrite规则里,黑色部分是DZ的Rewrite规则,红色是SupeSite/X-Space的Rewrite规则!

[ 本帖最后由 安笛 于 2007-7-27 15:45 编辑 ]
 楼主| 安笛 发表于 2007-7-27 15:30:13 | 显示全部楼层
Apache虚拟主机Rewrite设置说明:

设置之前,请首先咨询您的空间服务商,空间是否支持 Rewrite 以及是否支持对站点目录中 .htaccess 的文件解析,否则即便按照下面的方法设置好了,也无法使用。

1、在网站根目录下建立.htaccess文件:
方法:Win32 服务器,无法直接建立 .htaccess 文件,您可以从其他系统中拷贝一份。Linux服务器可以直接建立此文件。
这里注意,请分别上传.htaccess文件到SS和DZ的目录。

2、修改DZ目录下的.htaccess文件:

将.htaccess文件修改为:

# 将 RewriteEngine 模式打开
        RewriteEngine On

        # 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
        RewriteBase /discuz

        # Rewrite 系统规则请勿修改
        RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1
        RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2
        RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2
        RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
        RewriteRule ^tag-(.+)\.html$ tag.php?name=$1


3、修改SS目录下的.htaccess文件:

###        将 RewriteEngine 模式打开
RewriteEngine On

###        修改以下语句中的 /supesite 修改为你的SupeSite目录地址,如果程序放在根目录中,请将 /supesite 修改为 /
RewriteBase /supesite

###        Rewrite 系统规则请勿修改
RewriteRule ^([0-9]+)/spacelist(.+)$ index.php?uid/$1/action/spacelist/type$2 [L]
RewriteRule ^([0-9]+)/viewspace(.+)$ index.php?uid/$1/action/viewspace/itemid$2 [L]
RewriteRule ^([0-9]+)/viewbbs(.+)$ index.php?uid/$1/action/viewbbs/tid$2 [L]
RewriteRule ^([0-9]+)/(.*)$ index.php?uid/$1/$2 [L]
RewriteRule ^([0-9]+)$ index.php?uid/$1 [L]

RewriteRule ^action(.+)$ index.php?action$1 [L]
RewriteRule ^category(.+)$ index.php?action/category/catid$1 [L]
RewriteRule ^viewnews(.+)$ index.php?action/viewnews/itemid$1 [L]
RewriteRule ^viewthread(.+)$ index.php?action/viewthread/tid$1 [L]
RewriteRule ^mygroup(.+)$ index.php?action/mygroup/gid$1 [L]

[ 本帖最后由 安笛 于 2007-9-7 11:47 编辑 ]
回复

使用道具 举报

 楼主| 安笛 发表于 2007-7-27 15:30:16 | 显示全部楼层
2
回复

使用道具 举报

antdk 发表于 2007-7-27 15:47:59 | 显示全部楼层
IIS需要的rewrite规则语句在 6 楼提供,请留意最后的话。虚拟主机请联系空间商替换httped.ini文件即可。

[ 本帖最后由 antdk 于 2007-7-30 19:48 编辑 ]
回复

使用道具 举报

 楼主| 安笛 发表于 2007-7-27 15:50:22 | 显示全部楼层
3
回复

使用道具 举报

antdk 发表于 2007-7-27 16:03:07 | 显示全部楼层
IIS主机的Rewrite设置方法如下:

1、在此下载rewrite模块:http://www.supesite.com/tools/iisrewrite.zip
将iisrewrite.zip中的文件解压到服务器的一个目录中。
打开IIS管理器 -> 选择网站属性 -> ISAPI筛选器 -> 在名称中输入rewrite ->可执行文件选择刚才解压后的文件Rewrite.dll -> 点确定-> 再点确定 -> 关闭属性对话框再次查看网站属性 -> 到ISAPI筛选器如果看到状态为向上的绿色箭头,就说明Rewrite模块安装成功了。
然后,修改Rewrite规则到刚才解压的目录下,找到httpd.ini文件。

2、httped.ini修改方法:

[ISAPI_Rewrite]

# 3600 = 1 hour
CacheClockRate 3600

RepeatLimit 32

# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
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



# SupeSite Rewrite规则
# 独立主机用户
# 修改以下语句中的 / 修改为你的SupeSite目录地址,程序放在根目录中

RewriteRule ^/([0-9]+)$ /index\.php\?uid/$1 [L]
RewriteRule ^/([0-9]+)/spacelist(.+)$ /index\.php\?uid/$1/action/spacelist/type$2 [L]
RewriteRule ^/([0-9]+)/viewspace(.+)$ /index\.php\?uid/$1/action/viewspace/itemid$2 [L]
RewriteRule ^/([0-9]+)/viewbbs(.+)$ /index\.php\?uid/$1/action/viewbbs/tid$2 [L]
RewriteRule ^/([0-9]+)/(.*)$ /index\.php\?uid/$1/$2 [L]

RewriteRule ^/action(.+)$ /index\.php\?action$1 [L]
RewriteRule ^/category(.+)$ /index\.php\?action/category/catid$1 [L]
RewriteRule ^/viewnews(.+)$ /index\.php\?action/viewnews/itemid$1 [L]
RewriteRule ^/viewthread(.+)$ /index\.php\?action/viewthread/tid$1 [L]
RewriteRule ^/mygroup(.+)$ /index\.php\?action/mygroup/gid$1 [L]


加载方法,虚拟主机只要将上述httped.ini文件替换原来的文件就可以了,独立服务器加载请看:

https://discuz.dismall.com/thread-516294-1-5.html

3、注意,如上红色部分需要根据您安装SupeSite的路径进行调整,调整方法如下:
如果您的SupeSite需要域名后面加目录名的方式才可以访问,那么,您需要手工修改以下规则:

将 “^/”                 修改为 “^/xxx/”
将 “/index.php”         修改为 “/xxx/index.php”

其中,xxx 为您的程序目录名

最后标注一下:在以上的Rewrite规则里,黑色部分是DZ的Rewrite规则,红色是SupeSite/X-Space的Rewrite规则!

[ 本帖最后由 安笛 于 2008-4-28 15:36 编辑 ]
回复

使用道具 举报

strategy 发表于 2007-7-27 16:42:16 | 显示全部楼层
4
替豆豆留着
回复

使用道具 举报

fy007 发表于 2007-7-27 19:20:46 | 显示全部楼层
  还要5么?
回复

使用道具 举报

JSP.NET 发表于 2007-7-29 13:53:11 | 显示全部楼层
虚拟空间怎么半...
回复

使用道具 举报

pc77maikongjian 发表于 2007-7-30 15:37:12 | 显示全部楼层
原帖由 JSP.NET 于 2007-7-29 13:53 发表
虚拟空间怎么半...



购买之前可以先了解一下.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-12-24 03:47 , Processed in 0.027276 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表