Home  >  Article  >  CMS Tutorial  >  How to remove forum.php from discuz

How to remove forum.php from discuz

PHPz
PHPzOriginal
2023-03-29 11:31:201948browse

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",提高网站的美观性和安全性。使用后可以使得站点变得友好,更便于使用和分享,因此,以上两种方法都值得尝试。

The above is the detailed content of How to remove forum.php from discuz. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn