discuz如何去掉forum.php

来自:互联网
时间:2023-05-29
阅读:

Discuz是一款流行的开源论坛软件,广泛应用于各种网站中。在使用Discuz建立论坛网站时,许多站长都想去掉论坛地址中的"forum.php",以达到美化网站的目的。本文将详细介绍如何去掉Discuz论坛网址中的"forum.php"。

一、为何需要去掉"forum.php"

Discuz默认的论坛网址是"domAIn.com/forum.php",在大多数情况下,这样的网址并不美观。而且,若将论坛网页的唯一标识使用"forum.php",容易被非法抓取网页信息的程序所识别和采集,会带来一定的安全风险。因此,去掉"forum.php"可以提高论坛网站的美观性和安全性。

二、去掉"forum.php"的两种方法

1.类似于伪静态的方法

这种方法的本质是将动态网页转换为静态网页模式,用户访问网页时并不会出现"forum.php"。其实现方式类似于伪静态,通过服务器HTACCESS配置文件,将会被访问的网址重写为自定义的静态地址。具体实现步骤如下:

1.在Discuz的根目录下新建.htaccess文件
2.在.htaccess文件中添加以下代码:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^forum-([A-Za-z0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1
RewriteRule ^forum-([A-Za-z0-9]+)-([A-Za-z0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2
RewriteRule ^thread-([A-Za-z0-9]+)\.html$ forum.php?mod=viewthread&tid=$1
RewriteRule ^thread-([A-Za-z0-9]+)-([A-Za-z0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&page=$2
</IfModule>

在上述代码中,主要是为Discuz中的讨论版块(forumdisplay)和帖子(viewthread)设置了伪静态的规则,如:/forum-1.html代表讨论版块1,/thread-1.html代表帖子1。重写之后的URL看起来更加美观,感觉更具有搜索引擎的友好性。

2.通过URL路由设置

这种方法是扩展URL路由规则的方式,可以让Discuz自动解析被访问的页面,并以静态的网页形式呈现。其实现步骤如下:

1.进入Discuz后台,“论坛”->“设置”->“SEO设置”,找到“使用rewrite”,把选项设为“开启”。
2.将rewrite.php上传到Discuz的根目录下。
3.将.htaccess文件中的如下代码添加:

RewriteRule ^thread-(.*)-(.*).html$ rewrite.php?hash=thread-$1-$2&page=$3&type=t
RewriteRule ^thread-(.*).html$ rewrite.php?hash=thread-$1&type=t

这样就可以在URL中去掉"forum.php",并且实现通过URL直接访问页面,而不需要输入参数。

总之,无论采用哪种方法,都可以去掉Discuz论坛网址中的"forum.php",提高网站的美观性和安全性。使用后可以使得站点变得友好,更便于使用和分享,因此,以上两种方法都值得尝试。

返回顶部
顶部