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文件中添加以下代码:
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
在上述代码中,主要是为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",提高网站的美观性和安全性。使用后可以使得站点变得友好,更便于使用和分享,因此,以上两种方法都值得尝试。