本帖最后由 魔焰男孩 于 2009-2-5 19:55 编辑
目前已在独立主机上通过 (虚拟主机理论上也能用). 转载请注明原作者以及出处
图示 (点击小图看大图, 注意看 URL 地址):
方法:
- 请确保您的主机支持 Rewrite 并且之前已经成功开启了 URL 静态化 (请阅: https://discuz.dismall.com/usersguide/advanced_urlrewrite.htm), 以及论坛目录下没有 index.html 这个文件.
- 修改服务器配置文件:
- 独立主机用户
打开 Apache 所在目录里的 conf/httpd.conf, 查找:- RewriteRule ^(.*)/space-(username|uid)-(.+)\.html$ $1/space.php?$2=$3
复制代码 在下面添加:- RewriteRule ^(.*)/index\.html$ $1/index.php
- RewriteRule ^(.*)/index-([0-9]+)\.html$ $1/index.php?gid=$2
复制代码 然后重新启动 Apache. - Apache Web Server (虚拟主机用户)
打开 .htaccess 文件, 查找:- RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2
复制代码 在下面添加:- RewriteRule ^index\.html$ index.php
- RewriteRule ^index-([0-9]+)\.html$ index.php?gid=$1
复制代码 - IIS Web Server(独立主机用户)
打开筛选器 Rewrite, 配置它的 httpd.ini 文件, 查找:- RewriteRule ^(.*)/space-(username|uid)-(.+)\.html\?*(.*)$ $1/space\.php\?$2=$3&$4
复制代码 在下面添加:- RewriteRule ^(.*)/index\.html\?*(.*)$ $1/index\.php\?$2
- RewriteRule ^(.*)/index-([0-9]+)\.html\?*(.*)$ $1/index\.php\?gid=$2&$3
复制代码 保存并重启 IIS. - 其他用户请参照上面的方法自行修改.
- 打开后台, 关闭静态化 URL 的功能.
- 打开 include/global.func.php 文件, 查找:
- "/\<a href\="forumdisplay\.php\?fid\=(\d+)(&page\=(\d+))?"([^\>]*)\>/e",
复制代码 在上面添加:- "/\<a href\="index\.php"([^\>]*)\>/e",
- "/\<a href\="index\.php\?gid\=(\d+)"([^\>]*)\>/e",
复制代码 再找:- "rewrite_forum('\\1', '\\3', '\\4')",
复制代码 在上面添加:- "rewrite_index('\\1')",
- "rewrite_index('\\2', '\\1')",
复制代码 再找:- function rewrite_thread($tid, $page = 0, $prevpage = 0, $extra = '') {
复制代码 在上面添加:- function rewrite_index($extra = '', $gid = 0) {
- return '<a href="index'.($gid ? '-'.$gid : '').'.html"'.stripslashes($extra).'>';
- }
复制代码 保存文件. - 打开后台, 重新打开 URL 静态化.
|