admin 发表于 2020-9-24 15:51:40

discuz! x 3.0 - 3.4:TAG标签伪静态设置教程 !

1. 修改帖子内tag标签链接,使其伪静态。

打开template/default(模板风格)/forum/viewthread_node_body.htm,查找:

<a title="$var" href="misc.php?mod=tag&id=$var" target="_blank">$var</a>

替换为

<a title="$var" href="tag-$var.html" target="_blank">$var</a>


2. 修改tag页,使各个标签链接伪静态。

打开template/default/tag/tag.htm,查找

<a href="misc.php?mod=tag&id=$tag" title="$tag" target="_blank" class="xi2">$tag</a>

替换为

<a href="tag-$tag.html" title="$tag" target="_blank" class="xi2">$tag</a>


3. 修改tag列表页当前位置,使其路径链接伪静态。

打开template/default/tag/tagitem.htm,查找

<a href="misc.php?mod=tag">{lang tag}</a>

替换为

<a href="tag.html">{lang tag}</a>

再查找

<a href="misc.php?mod=tag&id=$id">$tagname</a>

替换为

<a href="tag-$id.html">$tagname</a>


4. 让搜索引擎蜘蛛可爬。

修改根目录下robort.txt,删除

Disallow: /misc.php
Disallow: /*?mod=misc*

修改根目录下misc.php文件,删除

$discuz->reject_robot();


5. 添加伪静态规则。

linux系统(.htaccess或httpd.conf)伪静态规则:

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^tag\.html$ misc.php?mod=tag

WIN的添加(httpd.ini)伪静态规则:

RewriteRule ^(.*)/tag-(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag\.html*$ $1/misc.php\?mod=tag

要保证规则文件内最后一条伪静态规则为

RewriteRule ^(+*)-(+)\.html$ plugin.php?id=$1:$2&%1

或者

RewriteRule ^(.*)/(+*)-(+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5

**否则显示插件不存在或已关闭。

Discuz智能体 发表于 2025-3-17 23:28:10

在Discuz! X3.0 - X3.4版本中,TAG标签的伪静态设置是一个常见的需求,通过伪静态可以提升网站的SEO效果和用户体验。以下是详细的设置步骤:

### 1. 修改帖子内TAG标签链接,使其伪静态

打开模板文件 `template/default/forum/viewthread_node_body.htm`,查找以下代码:

$var

替换为:

$var

这一步的目的是将帖子内的TAG标签链接从动态URL转换为伪静态URL。

### 2. 修改TAG页,使各个标签链接伪静态

打开模板文件 `template/default/tag/tag.htm`,查找以下代码:

$tag

替换为:

$tag

这一步的目的是将TAG页面的标签链接从动态URL转换为伪静态URL。

### 3. 修改TAG列表页当前位置,使其路径链接伪静态

打开模板文件 `template/default/tag/tagitem.htm`,查找以下代码:

{lang tag}

替换为:

{lang tag}

再查找以下代码:

$tagname

替换为:

$tagname

这一步的目的是将TAG列表页的路径链接从动态URL转换为伪静态URL。

### 4. 让搜索引擎蜘蛛可爬

为了让搜索引擎蜘蛛能够爬取伪静态的TAG页面,需要修改以下文件:

- **修改根目录下的 `robots.txt` 文件**,删除以下内容:

Disallow: /misc.php
Disallow: /*?mod=misc*

- **修改根目录下的 `misc.php` 文件**,删除以下代码:

$discuz->reject_robot();

### 5. 添加伪静态规则

根据服务器环境的不同,添加相应的伪静态规则:

#### 对于Linux系统(.htaccess或httpd.conf)

在 `.htaccess` 或 `httpd.conf` 文件中添加以下规则:

RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^tag\.html$ misc.php?mod=tag

#### 对于Windows系统(httpd.ini)

在 `httpd.ini` 文件中添加以下规则:

RewriteRule ^(.*)/tag-(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag\.html*$ $1/misc.php\?mod=tag

### 6. 确保伪静态规则的正确性

在添加伪静态规则时,确保规则文件中的最后一条规则为以下内容之一:

RewriteRule ^(+*)-(+)\.html$ plugin.php?id=$1:$2&%1

或者

RewriteRule ^(.*)/(+*)-(+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5

**注意**:如果最后一条规则不正确,可能会导致插件无法正常显示或提示“插件不存在或已关闭”。

### 总结

通过以上步骤,你可以成功将Discuz! X3.0 - X3.4版本的TAG标签链接设置为伪静态形式,从而提升网站的SEO效果和用户体验。如果在设置过程中遇到问题,可以参考DZ插件网(https://www.dz-x.net/)的相关教程或寻求技术支持。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-21 07:19:49

在Discuz! X3.0 - X3.4版本中,TAG标签的伪静态设置是一个常见的需求,尤其是在SEO优化方面。以下是你提供的步骤的详细解释和补充说明:

### 1. 修改帖子内TAG标签链接,使其伪静态
你提到的修改`template/default/forum/viewthread_node_body.htm`文件,查找并替换`$var`的部分。实际上,这里的具体操作应该是找到TAG标签的链接生成部分,并将其修改为伪静态格式。通常,TAG标签的链接是通过`misc.php?mod=tag&id=xxx`生成的,你需要将其替换为`tag-xxx.html`的形式。

### 2. 修改TAG页,使各个标签链接伪静态
在`template/default/tag/tag.htm`文件中,查找并替换`$tag`的部分。这里的目标是将TAG页的链接从动态URL(如`misc.php?mod=tag&id=xxx`)转换为伪静态URL(如`tag-xxx.html`)。

### 3. 修改TAG列表页当前位置,使其路径链接伪静态
在`template/default/tag/tagitem.htm`文件中,查找并替换`{lang tag}`和`$tagname`的部分。这一步的目的是确保TAG列表页的导航路径(如“当前位置:首页 > TAG > 标签名”)中的链接也是伪静态的。

### 4. 让搜索引擎蜘蛛可爬
为了让搜索引擎蜘蛛能够抓取TAG页面,你需要修改`robots.txt`文件,删除或注释掉以下两行:
Disallow: /misc.php
Disallow: /*?mod=misc*
此外,你还需要修改`misc.php`文件,删除或注释掉`$discuz->reject_robot();`这一行代码,以允许搜索引擎蜘蛛访问TAG页面。

### 5. 添加伪静态规则
根据你的服务器环境(Linux或Windows),你需要添加相应的伪静态规则。

#### Linux系统(.htaccess或httpd.conf)伪静态规则:
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tag-(.+)\.html$ misc.php?mod=tag&id=$1
RewriteCond %{QUERY_STRING} ^(.*)
RewriteRule ^tag\.html$ misc.php?mod=tag

#### Windows系统(httpd.ini)伪静态规则:
RewriteRule ^(.*)/tag-(.+)\.html*$ $1/misc.php\?mod=tag&id=$2
RewriteRule ^(.*)/tag\.html*$ $1/misc.php\?mod=tag

### 注意事项
- 在添加伪静态规则时,确保规则文件中的最后一条规则是处理插件URL的规则,否则可能会导致插件无法正常访问。例如:
RewriteRule ^(+*)-(+)\.html$ plugin.php?id=$1:$2&%1
或者
RewriteRule ^(.*)/(+*)-(+)\.html(\?(.*))*$ $1/plugin\.php\?id=$2:$3&$5

### 总结
通过以上步骤,你可以成功将Discuz! X3.0 - X3.4中的TAG标签链接转换为伪静态形式,从而提升网站的SEO效果。如果你在操作过程中遇到任何问题,欢迎随时在DZ插件网(https://www.dz-x.net/)寻求帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: discuz! x 3.0 - 3.4:TAG标签伪静态设置教程 !