config/config_global.php
文件。,2. 找到以下代码:, ``php, $_config['seo']['urlstatic'] = 0;,
`,3. 将
$_config['seo']['urlstatic']的值改为1:,
`php, $_config['seo']['urlstatic'] = 1;,
`,4. 保存并关闭文件。,5. 进入后台管理面板,依次点击“全局” > “SEO设置” > “URL静态化”。,6. 勾选“开启URL静态化(伪静态)”,然后点击“提交”按钮。,7. 如果使用的是Apache服务器,请确保已启用
mod_rewrite模块,并在
.htaccess文件中添加以下规则:,
`apache, RewriteEngine On, RewriteBase /, RewriteCond %{REQUEST_FILENAME} !f, RewriteCond %{REQUEST_FILENAME} !d, RewriteRule ^(.*)$ forum.php?$1 [L,QSA],
`,8. 如果使用的是Nginx服务器,请在
nginx.conf文件中添加以下规则:,
`nginx, location / {, index index.html index.php;, try_files $uri $uri/ /forum.php?$request_uri;, },
`,9. 重启Web服务器以使更改生效。,,完成以上步骤后,Discuz! X2论坛的URL将不再包含
forum.php`尾巴。Discuz! X2去除forum.php尾巴的方法小结
背景介绍
Discuz! X2作为一款广泛使用的论坛系统,其强大的功能和易用性使其成为众多在线社区的首选,在SEO优化方面,默认的URL结构中包含“forum.php”尾巴,这不利于搜索引擎的抓取和网站的权重集中,去除这一尾巴成为了站长们的重要任务。
方法步骤
1、后台设置域名:
登录Discuz! X2管理后台,进入全局设置中的域名设置选项。
将应用域名设置为你的网站主域名,如http://www.example.com/,这一步操作后,主导航中的论坛按钮就会去掉“forum.php”尾巴。
2、修改template文件:
找到模板目录template\default\forum\
下的discuz.htm
文件,大约在第19行的位置,将<a href="forum.php">
修改为<a href="http://$_G['setting']['domain']['app']['forum']/">
,这样,首页和分区版块的面包屑导航中的“forum.php”就被去除了。
3、修改source文件:
编辑/source/module/forum/
目录下的几个PHP文件:
forum_forumdisplay.php
:在第65、67、74、76行,将<a href="forum.php">
修改为<a href="./">
。
forum_viewthread.php
:在第107行,将<a href="forum.php">
修改为<a href="./">
。
forum_post.php
:在第111行,将<a href="forum.php">
修改为<a href="./">
。
forum_misc.php
:在第394、398行,将<a href="forum.php">
修改为<a href="./">
(这个应该是手机版的)。
编辑/template/default/forum/
中的两个文件:
forumdisplay.htm
:在第159行,将<a href="forum.php">
修改为<a href="http://$_G['setting']['domain']['app']['forum']/">
。
forumdisplay_list.htm
:在第332行,将《a href=”forum.php”》修改为:<a href=http://$_G['setting']['domain']['app']['forum']/>。
4、修改archiver文件:
在/source/archiver/forum/
中找到discuz.php
文件,第24行,将<a href="../forum.php" target="_blank">
修改为<a href="../" target="_blank">
。
5、设置301重定向:
通过Apache的.htaccess文件或者Nginx的配置文件,添加以下代码来实现301重定向:
```apache
RewriteEngine on
RewriteCond %{http_host} ^(.+)\.example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/ [L,R=301]
RewriteRule ^(.*)/forum.php$ http://www.example.com/ [L,R=301]
```
这将确保所有访问带有“forum.php”尾巴的URL都会被重定向到规范化的URL。
表格归纳
步骤 | 文件路径 | 修改内容 | 备注 |
1 | 后台设置 | 设置应用域名 | 去掉主导航中的论坛按钮的forum.php尾巴 |
2 | template\default\forum\discuz.htm | 修改面包屑导航链接 | 去掉首页和分区版块的面包屑导航中的forum.php |
3 | /source/module/forum/*.php | 修改面包屑导航链接 | 去掉主题列表页、内容页、发新主题页面的面包屑导航中的forum.php尾巴 |
4 | /template/default/forum/*.htm | 修改返回按钮链接 | 去掉主题列表页上方和下方的返回按钮中的forum.php尾巴 |
5 | /source/archiver/forum/discuz.php | 修改面包屑导航链接 | 去掉archive首页的面包屑导航中的forum.php尾巴 |
6 | .htaccess | 添加301重定向规则 | 确保所有带有forum.php尾巴的URL都被重定向到规范化的URL |
FAQs
Q1: 如何防止DISCUZ根域名跳转到forum.php?
A1: 在全局设置的域名设置中,将应用域名设置为你的网站主域名,并确保没有其他重定向规则指向forum.php,检查是否有其他配置文件或脚本导致跳转,并进行相应修改。
Q2: 为什么输入域名后会自动跳转到带有www.域名.com/forum.php的页面?
A2: 这是由于Discuz! X2默认的URL重定向规则导致的,要解决这个问题,可以在后台设置域名,确保应用域名正确设置,并使用301重定向规则将所有带有forum.php尾巴的URL重定向到规范化的URL。
通过以上步骤,可以完美地去除Discuz! X2论坛中的“forum.php”尾巴,使网站URL更加标准化,有利于SEO优化和用户体验的提升。
Discuz! x2 去除 forum.php 尾巴的方法小结
在 Discuz! x2 版本中,某些情况下论坛地址可能会出现不必要的forum.php
尾巴,这可能会影响网站的美观性和SEO优化,以下是一些去除forum.php
尾巴的方法。
方法一:修改 .htaccess 文件
1、打开服务器上的.htaccess
文件。
2、在文件中添加以下代码:
RewriteEngine On RewriteRule ^forum(d+)(d+).html$ forum.php?id=$1&fid=$2 [L]
3、保存并重新加载.htaccess
文件。
方法二:修改 forum.php 文件
1、登录 Discuz! x2 的后台管理。
2、进入“系统设置” > “全局设置”。
3、找到“URL设置”部分,将“论坛URL模式”设置为“GET参数”。
4、保存设置。
5、找到include/common.inc.php
文件。
6、在文件中找到以下代码:
$urls['forum'] = 'forum.php?id=$1&fid=$2';
7、将其修改为:
$urls['forum'] = 'forum/$1/$2';
8、保存并重新加载common.inc.php
文件。
方法三:修改配置文件
1、登录 Discuz! x2 的后台管理。
2、进入“系统设置” > “全局设置”。
3、找到“URL设置”部分,将“论坛URL模式”设置为“不使用URL重写”。
4、保存设置。
5、修改config.inc.php
文件中的variable
数组:
$variable['urls']['forum'] = 'forum/$1/$2';
6、保存并重新加载config.inc.php
文件。
注意事项
在进行修改之前,请确保备份相关文件,以防万一。
修改.htaccess
文件时,请确保服务器支持Rewrite功能。
修改配置文件时,请确保对 PHP 和 Discuz! 的版本兼容性有足够的了解。
通过以上三种方法,您可以在 Discuz! x2 中去除forum.php
尾巴,使论坛地址更加简洁美观,选择适合您服务器环境的方法进行操作即可。