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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 请看伪静态设置成功方法(虚拟主机用户 X1.5)

[复制链接]
青_海 发表于 2011-2-7 20:09:10 | 显示全部楼层 |阅读模式
本帖最后由 青_海 于 2011-2-7 20:09 编辑

为何要写这个教程,因为自己在弄伪静态过程中的经历实在是一波三折,差点精疲力竭,包括咨询虚拟主机客服,以及在论坛搜索的种种资料,可以说是千辛万苦才弄好了这个“伪”静态问题。

估计还有很多新人跟我一样,处理这个问题时估计也会出现我所遇到的种种困难,所以把自己的处理过程写下来,以便大家使用。

我的主机:linux,Apache Web Server(虚拟主机用户),论坛X1.5程序

1、在后台进行URL静态化设置时,采取系统默认的规则,打钩,保存:


2、点击查看当前的rewrite规则:


3、根据自己主机的情况将对应的规则代码拷贝下来:我的是Apache web server(虚拟主机用户)
  1. # 将 RewriteEngine 模式打开
  2. RewriteEngine On

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

  5. # Rewrite 系统规则请勿修改
  6. RewriteCond %{QUERY_STRING} ^(.*)$
  7. RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  8. RewriteCond %{QUERY_STRING} ^(.*)$
  9. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  10. RewriteCond %{QUERY_STRING} ^(.*)$
  11. RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  12. RewriteCond %{QUERY_STRING} ^(.*)$
  13. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  14. RewriteCond %{QUERY_STRING} ^(.*)$
  15. RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  16. RewriteCond %{QUERY_STRING} ^(.*)$
  17. RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
  18. RewriteCond %{QUERY_STRING} ^(.*)$
  19. RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1
复制代码

4、因自己的网站是安装在主机根目录,所以要修改以下代码:
  1. RewriteBase /discuz
  2. 改为
  3. RewriteBase /
复制代码

5、修改后把代码保存为.htaccess文件,我是用这个在线htaccess代码修改器修改的,按提示下载保存http://www.wangqu.org/htaccess/#a_fileList ,然后上传网站根目录。

6、当中出现的问题是:按照网站后台的对应rewrite规则生成的.htaccess上传网站根目录后,网站的门户、论坛、帖子页都可以正常浏览,就是无法进入版块主题页,总是停留在论坛首页,咨询客服也无法解决。后来根据论坛的一篇帖子,修改了rewrite规则代码就搞定了。
方法如下:
  1. 查找:
  2. RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  3. 修改为:
  4. RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1

复制代码
再重新生成.htaccess文件上传网站根目录即可。成功进入论坛主题列表页,一切正常。

以下是修改后的rewrite规则代码,可自行拷贝使用:

  1. # 将 RewriteEngine 模式打开
  2. RewriteEngine On

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

  5. # Rewrite 系统规则请勿修改
  6. RewriteCond %{QUERY_STRING} ^(.*)$
  7. RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
  8. RewriteCond %{QUERY_STRING} ^(.*)$
  9. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
  10. RewriteCond %{QUERY_STRING} ^(.*)$
  11. RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
  12. RewriteCond %{QUERY_STRING} ^(.*)$
  13. RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
  14. RewriteCond %{QUERY_STRING} ^(.*)$
  15. RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
  16. RewriteCond %{QUERY_STRING} ^(.*)$
  17. RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
  18. RewriteCond %{QUERY_STRING} ^(.*)$
  19. RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
情绪点子 发表于 2011-2-7 22:07:35 | 显示全部楼层
你这个没一点新意呀,这完全是教科书式的程序吗。现在的问题是按照你这个程序搞不定,懂吗?要是按照你这个程序能搞定,论坛还有这么多人问伪静态设置吗??

你运气好,主机商已经支持了伪静态了。现在很多人搞不定,是主机环境的问题。虚拟主机遇到主机环境不支持,基本上只有等死。
回复

使用道具 举报

sujian919 发表于 2011-2-7 23:31:10 | 显示全部楼层
回复

使用道具 举报

abcwangyi789 发表于 2011-2-9 16:42:43 | 显示全部楼层
我的问题也解决不了
回复

使用道具 举报

为伊飘香 发表于 2011-2-25 23:32:29 | 显示全部楼层
这个后台里就没有WINDOWS、虚拟主机的静态化规则
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 23:57 , Processed in 0.038956 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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