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

 找回密码
 立即注册
搜索

dz 目录式伪静态方法

[复制链接]
51buyhost 发表于 2013-5-24 15:01:51 | 显示全部楼层 |阅读模式
费了将近1天的时间的时间终于将DZ 目录方式伪静态设置成功了//  现在我贴出帖子给大家 分享下...

  dz目录式伪静态 已经全面支持 X3.0和2.5   

   首先我把我自己的环境公布下    lnamp 环境.... apache端口不对外... 简单说 也是 lamp 环境....
  效果 是这样的 .  
    例如:首页:http://www.51buyhost.com
       栏目页:http://www.51buyhost/nginx/  
       内容页:
http://www.51buyhost/nginx/826/
  如果是 跟我环境差不多的话 那就更好办了
  我的lanmp 环境搭建方法 http://www.51buyhost.com/thread-3374-1-1.html
   apache端口不对外.所以是8080  如果大家是单一的lamp 环境的话 请把 apache配置文件中的 8080 改成80 即可
首先把apache的主配置文件打开需要更改两个地方

  ①: 检查Apache是否开启.htaccess支持
vi /etc/httpd/conf/httpd.conf
AllowOverride All #如果后面参数为None需要修改为All(大概在338行)
②: 再把apache最后一行添加一个映射代码如下:
Include /etc/httpd/conf/51buyhos.conf
:wq! 退出
意思就是说所有的规则全部在51buyhost.conf下进行的
  我把我自己换的 51buyhost.conf配置文件帖出来..


复制代码

################################################
NameVirtualHost *:8080
<VirtualHost *:8080>
DocumentRoot "/data/jock1_com"
ServerName www.51buyhost.com
ServerAlias jock.com
<Directory "/data/jock1_com">
allow from all
Order allow,deny
<IfModule mod_rewrite.c>
RewriteEngine On
#RewriteBase /
RewriteCond %{REQUEST_URI} !image/admincp/getcolor.htm$
RewriteRule ^(.*)\.htm$  - [F,L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule .*/(.+).php$ $1.php?%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^special/(.+)/$ portal.php?mod=topic&topic=$1&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule forum-([0-9a-z_]+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule thread-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([a-z]+)-(.+)\.html$ $1.php?rewrite=$2&%1 [L,NC]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule /m([0-9]+)(/([0-9]+))?(/)?$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$5&page=$3&%1 [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^([0-9a-z_]+)(/([0-9]+))?(/)?$ forum.php?mod=forumdisplay&fid=$1&page=$3&%1 [L,NC]
</IfModule>
</Directory>
</VirtualHost>

######################################

上面就是整个规则了...
接下来 我们去官方下载 dz的安装程序   x2.5也好 .x3.也好.我都测试过了全部正常
   安装程序我就不说了...
  程序装完之后我们还得把附件里面的东西传到 网页程序的根目录里面去 ... 人家会说  是虚拟空间才会做这样的事情 VPS 或者是独立服务器 根本不需要. 错... 还真的需要  我亲自测过...不传的话还真不行   
传完之后我们需要设置的地方有几处..
① :首先
打开source\function下的function_core.php
找到



   if($type == 'forum_forumdisplay')
{
        list(,,, $fid, $page, $extra) =
func_get_args();
        $r =
array(
            
'{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
            
'{page}' => $page ? $page : 1,
        
);
    } elseif($type == 'forum_viewthread')
{
        list(,,, $tid, $page, $prevpage,
$extra) = func_get_args();
        $r =
array(
            
'{tid}' =>
$tid,
            
'{page}' => $page ? $page :
1,
            
'{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage :
1,
        );


改成
if($type == 'forum_forumdisplay')
{
        list(,,, $fid, $page, $extra) =
func_get_args();
        $r =
array(
            
'{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
            
'{page}' => $page ,
        
);
    } elseif($type == 'forum_viewthread')
{        

        list(,,, $tid, $page, $prevpage,
$extra) = func_get_args();
        $fid =
DB::result_first("SELECT fid FROM ".DB::table('forum_thread')." WHERE tid =
'$tid'");
        $r =
array(
            
'{fid}' => empty($_G['setting']['forumkeys'][$fid]) ? $fid :
$_G['setting']['forumkeys'][$fid],
            
'{tid}' =>
$tid,
            
'{page}' => $page
,
            
'{prevpage}' => $prevpage && !IS_ROBOT ? $prevpage :
1,
        );


不会改的直接把上面那一段换成下面这一段就行了..  我相信大家还是会做吧..那么简单
②  登陆刚装好的dz 后台打开seo 设置..如下图
然后进入网站后吧->''seo设置"->"url静态化"
在"论坛主题列表页"的格式中填写:{fid}/{page}
在"论坛主题内容页"的格式中填写:{fid}/{tid}/{page}
  全局--SEO设置-


然后工具,更新缓存,即实现了版块目录化,贴子目录化
在"论坛"-"版块管理"中的"绑定别名"即是版块目录名:
如:centos论坛官网的 nginx 版块中的"绑定别名"为"nginx",那么访问地址就是:http://www.51buyhost.com/nginx/
注意  我是在本地测试的... 我的测试域名 www.jock.com  我设置一个版块名称叫CF  效果如下:

[size=0.83em]QQ截图20130522000832.png (94.36 KB, 下载次数: 0)
下载附件  保存到相册
[color=rgb(153, 153, 153) !important]前天 00:03 上传




上面是我用 X3 测试成功的..如果 有人也想这样的话 ...请回帖我告诉大家.....
回复

使用道具 举报

 楼主| 51buyhost 发表于 2013-5-24 15:10:24 | 显示全部楼层
其实 www.51buyhost.com 那个站 没搞那样的伪静态方式.... 我这个站已经是的 www.5awyx.com  站名叫 我爱玩游戏...
回复

使用道具 举报

枫速向航 发表于 2013-6-17 23:57:10 | 显示全部楼层
你能X3 版块和频道同时目录化伪静态
你能X2.5 版块和频道同时目录化伪静态
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-14 19:23 , Processed in 0.120991 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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