如何优雅地移除Discuz! x2论坛URL中的forum.php后缀?

avatar
作者
猴君
阅读量:0
在Discuz! X2中,要去除URL中的forum.php尾巴,可以通过修改配置文件和模板文件实现。具体步骤包括:,,1. 打开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”尾巴,这不利于搜索引擎的抓取和网站的权重集中,去除这一尾巴成为了站长们的重要任务。

如何优雅地移除Discuz! x2论坛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 尾巴,使论坛地址更加简洁美观,选择适合您服务器环境的方法进行操作即可。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!