如何去除discuz X2论坛网址中的forum.php

陈知
2023-12-01

在discuz X2论坛的过程中,直接安装在根目录的可以通过设置应用域名的方法来实现discuz X2论坛网址中完美去掉forum.php。但如果是安装在非根目录下(例如bbs目录下),网址中就会出现/bbs/forum.php,如何去掉forum.php呢?可以试验以下几种方法:

方法一:linux主机下:

只要在网站根目录上新建一个.htaccess文件(如果已经存在.htaccess文件,直接添加下面的代码也行), 里面写上“directoryindex forum.php”,就可以完美解决,简单吧。

方法二:

1. 在后台应用域名那里默认域名为论坛主页(应用域名大家应该都知道在哪里的,不一一说明了)

2. 把/source/module/forum/目录下的forum_viewthread.php、forum_forumdisplay.php、forum_misc.php、forum_post.php(这4个文件)然后搜索” navigation ”后的 href=”forum.php” 改为href=”./”或href=”绝对地址”。修改好了覆盖上传即可

方法三:

1. 全局 > 域名设置 > 应用域名,*/bbs/(实际操作时去掉句号)那么,你直接输入*/bbs/这个网址即可。然后当你打开*/bbs/的时候他就没有那个万恶的forum.php了,但是,导航栏那里还是有带这个,怎么办?

2. 界面 > 导航 > 页头导航,然后我们建增加一个,而链接地址为*/bbs/然后提交。那么就OK了。那么接下来还需要内容页,比如打开一个网址之后,会出现这个问题,那怎么办?

3. 我们在根目录然后打开,source\module\forum下面的forum_misc、forum_post、forum_viewthread、forum_forumdisplay,查找navigation,然后将后面的forum.php去掉就可以了,一般一个文件有四个要去掉。注意:只有forum.php才去掉,如果forum.php后面还有代码的话千万不要去掉。

方法四:完美去掉forum.php加静态设置,直接将下面的代码添加到.htaccess文件内即可:

<Files ~ “^.(htaccess|htpasswd)$”>
deny from all
</Files>
<FilesMatch “.(gif|jpg|jpeg|png|ico)$”>
Header set Cache-Control “max-age=604800″
</FilesMatch>
DirectoryIndex forum.php index.php index.html
order deny,allow
# 将 RewriteEngine 模式打开
RewriteEngine On
# 修改以下语句中的 /discuz 为你的论坛目录地址,如果程序放在根目录中,请将 /discuz 修改为 /
RewriteBase /bbs
# Rewrite 系统规则请勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(\w+)-([0-9]+)\.html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ forum.php?mod=viewthread&tid=$1&extra=page\%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+)\.html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+)\.html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+)\.html$ archiver/index.php?action=$1&value=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^blog-([0-9]+)-([0-9]+)\.html$ home.php?mod=space&uid=$1&do=blog&id=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+)\.html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$ portal.php?mod=view&aid=$1&page=$2&%1
 类似资料: