如何为Dedecms织梦系统的Tag标签配置伪静态?

avatar
作者
筋斗云
阅读量:0
在DedeCms织梦系统中,可以通过修改配置文件和.htaccess文件来设置Tag标签的伪静态。

Dedecms织梦系统Tag标签如何设置伪静态

如何为Dedecms织梦系统的Tag标签配置伪静态?

准备工作

在设置织梦DedeCms(简称Dedecms)的Tag标签伪静态之前,需要确保你的网站空间支持伪静态,这是非常重要的一步,如果空间不支持伪静态功能,所有的设置都将无效,你可以联系空间的IDC商确认,如果是自己的服务器,则更好处理,对于Apache服务器,伪静态设置相对简单,直接在.htaccess文件中加入相应伪静态规则即可;而对于IIS服务器,则需要加载Rewrite组件,然后配置httpd.ini文件。

后台开启伪静态

1、登录织梦后台:进入“系统” > “系统设置” > “核心设置”,找到“是否使用伪静态”选项并选择“是”。

2、启用问答模块伪静态:如果你启用了问答模块,还需要在“系统参数” > “模块设置”中将“是否使用伪静态”设置为“是”。

3、创建栏目或文章时选择动态浏览:在创建栏目或批量增加栏目时,选择“使用动态页”;在添加新文章时,发布选项选择“仅动态浏览”,这些操作可以通过修改模板来默认实现。

修改PHP源码

1、修改tags.php文件:打开程序目录下的tags.php文件,找到$PageNo=1exit();之间的代码,将其替换为以下代码:

```php

//tag伪静态

$tagid = (isset($tagid) && is_numeric($tagid)) ? $tagid : 0;

$PageNo = (isset($PageNo) && is_numeric($PageNo)) ? $PageNo : 1;

if ($tagid == "0") {

$dlist = new TagList($tag, 'tag.htm');

$dlist>Display();

} else {

$row = $dsql>GetOne("SELECT tag FROM#@__tagindex WHERE id ={$tagid}");

if (!is_array($row)) {

ShowMsg('系统无此tag', '1');

exit();

}

$tag = FilterSearch($row['tag']);

$dlist = new TagList($tag, 'taglist.htm');

$dlist>Display();

}

exit();

```

2、修改tag.lib.php文件:打开include/taglib/tag.lib.php文件,找到$row['link'] = $cfg_cmsurl."/tags.php?/".urlencode($row['keyword'])."/";代码,将其替换为:

```php

$row['link'] = "/tags/".urlencode($row['keyword']).".html";

```

3、修改arc.taglist.class.php文件:打开include/arc.taglist.class.php文件,找到分页函数部分,将以下代码:

```php

//获得上一页和下一页的链接

if($this>PageNo != 1) {

$prepage .= "<li><a href='".$purl."_$prepagenum.html'>上一页</a></li>\r

";

$indexpage = "<li><a href='".$purl.".html'>首页</a></li>\r

";

} else {

$indexpage = "<li><a href='$purl.html'>首页</a></li>\r

";

}

if($this>PageNo != $totalpage && $totalpage > 1) {

$nextpage .= "<li><a href='".$purl."_$nextpagenum.html'>下一页</a></li>\r

";

$endpage = "<li><a href='".$purl."_$totalpage.html'>末页</a></li>\r

";

} else {

$endpage = "<li><a>末页</a></li>\r

";

}

```

替换为:

```php

//获得上一页和下一页的链接

if($this>PageNo != 1) {

$prepage .= "<li><a href='".$purl."_$prepagenum.html'>上一页</a></li>\r

";

$indexpage = "<li><a href='".$purl.".html'>首页</a></li>\r

";

} else {

$indexpage = "<li><a href='$purl.html'>首页</a></li>\r

";

}

if($this>PageNo != $totalpage && $totalpage > 1) {

$nextpage .= "<li><a href='".$purl."_$nextpagenum.html'>下一页</a></li>\r

";

$endpage = "<li><a href='".$purl."_$totalpage.html'>末页</a></li>\r

";

} else {

$endpage = "<li><a>末页</a></li>\r

如何为Dedecms织梦系统的Tag标签配置伪静态?

";

}

```

设置伪静态规则

根据不同的服务器类型,设置相应的伪静态规则。

1、Apache服务器:新建一个txt文本,在文本里添加如下伪静态规则,然后另存为.htaccess上传到网站根目录即可。

```apache

RewriteBase /

RewriteRule ^tags/([09]+)_([09]+).html$ tags.php?tagid=$1&PageNo=$2 [L]

RewriteRule ^tags/([09]+).html$ tags.php?tagid=$1 [L]

```

2、Nginx服务器:新建一个txt文本,在文本里添加如下伪静态规则,然后另存为.htaccess上传到网站根目录即可。

```nginx

rewrite "^/tags/([09]+).html$" /tags.php?tagid=$1 last;

rewrite "^/tags/([09]+)_([09]+).html$" /tags.php?tagid=$1&PageNo=$2 last;

```

3、IIS服务器:在web.config文件中添加如下规则:

```xml

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name="weather1" stopProcessing="true">

<match url="^tags/([09]+).html$" ignoreCase="true" />

<conditions logicalGrouping="MatchAll">

<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

</conditions>

<action type="Rewrite" url="/tags.php?tagid={R:1}" appendQueryString="false" />

</rule>

<rule name="weather2" stopProcessing="true">

<match url="^tags/([09]+)_([09]+).html$" ignoreCase="true" />

<conditions logicalGrouping="MatchAll">

<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />

<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />

</conditions>

<action type="Rewrite" url="/tags.php?tagid={R:1}&amp;PageNo={R:2}" appendQueryString="false" />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

```

FAQs常见问题解答

Q1: 如何在Dedecms中开启全站伪静态?

A1: 在Dedecms后台,进入“系统” > “系统设置” > “核心设置”,找到“是否使用伪静态”选项并选择“是”,如果你启用了问答模块,还需要在“系统参数” > “模块设置”中将“是否使用伪静态”设置为“是”。

Q2: Dedecms的TAG标签如何实现伪静态?

A2: 要实现TAG标签的伪静态,首先需要在tags.php文件中进行一些修改,然后修改include/taglib/tag.lib.php文件和include/arc.taglist.class.php文件,最后根据不同的服务器类型设置相应的伪静态规则。

Q3: 如何在Nginx服务器上设置Dedecms的伪静态规则?

A3: 在Nginx服务器上,新建一个txt文本,在文本里添加如下伪静态规则,然后另存为.htaccess上传到网站根目录即可:

```nginx

rewrite "^/tags/([09]+).html$" /tags.php?tagid=$1 last;

rewrite "^/tags/([09]+)_([09]+).html$" /tags.php?tagid=$1&PageNo=$2 last;

```


Dedecms织梦系统Tag标签设置伪静态教程

1. 准备工作

在开始设置之前,请确保您的网站服务器支持伪静态,并且已经安装了Dedecms织梦系统。

2. 修改配置文件

您需要修改Dedecms的配置文件,通常是/plus/config.php

打开/plus/config.php文件。

找到以下配置项:

```php

$cfg_basehost = '您的域名'; // 替换为您的域名

$cfg_cookie_path = '/'; // 默认值

$cfg_cookie_domain = ''; // 默认值

$cfg_ftp_host = ''; // 如果使用FTP上传,填写FTP服务器地址

$cfg_ftp_port = '21'; // 如果使用FTP上传,填写FTP服务器端口

$cfg_ftp_user = ''; // 如果使用FTP上传,填写FTP用户名

$cfg_ftp_password = ''; // 如果使用FTP上传,填写FTP密码

$cfg_ftp_remove = 0; // 是否删除FTP上传的文件

如何为Dedecms织梦系统的Tag标签配置伪静态?

$cfg_df_style = 1; // 默认风格

$cfg_df_itemtype = 1; // 默认文档模型

$cfg_df_type = 1; // 默认文档类型

$cfg_df_enable = 0; // 是否启用文档静态化

$cfg_df_styletype = 1; // 静态化风格

$cfg_df_htmltype = 0; // HTML静态化类型

$cfg_df_end = '.html'; // 静态化后缀

$cfg_df_blocktype = 1; // 文档静态化分块方式

$cfg_df_blocksize = 5000; // 文档静态化分块大小

$cfg_df_runtype = 0; // 生成静态文档的方式

$cfg_notices = ''; // 网站公告

$cfg_powerby = 1; // 是否显示织梦内容管理系统

$cfg_open.static = 1; // 是否开启静态化

$cfg_authkey = ''; // 验证码密钥

$cfg_cookie_siteid = 1; // 网站ID

$cfg_cookie_siteurl = ''; // 网站URL

$cfg_cookie_sitepath = ''; // 网站路径

$cfg_cookie_adminid = 1; // 管理员ID

$cfg_cookie_adminurl = ''; // 管理员URL

$cfg_cookie_adminpath = ''; // 管理员路径

$cfg_cookie_memberid = 1; // 会员ID

$cfg_cookie_memberurl = ''; // 会员URL

$cfg_cookie_memberpath = ''; // 会员路径

```

$cfg_df_enable设置为1,表示启用静态化。

$cfg_df_end设置为'tag.html',表示Tag标签的静态化后缀为.html

3. 修改URL规则

您需要修改URL规则文件,通常是/plus/url_rule.php

打开/plus/url_rule.php文件。

找到以下配置项:

```php

$urls = array (

'1' => array (

'module' => 'index',

'url' => 'index.php',

),

'2' => array (

'module' => 'show',

'url' => 'show.php?id={id}',

),

'3' => array (

'module' => 'list',

'url' => 'list.php?tid={tid}&listid={listid}',

),

'4' => array (

'module' => 'search',

'url' => 'search.php?keyword={keyword}',

),

'5' => array (

'module' => 'tag',

'url' => 'tag{tid}{page}.html',

),

);

```

'5'对应的'url'值修改为'tag{tid}{page}.html',表示Tag标签的URL规则。

4. 生成静态页面

修改完配置文件后,您需要生成静态页面以应用新的URL规则。

进入Dedecms织梦系统的后台管理。

找到“一键静态化”或类似的功能。

点击执行,系统将自动生成静态页面。

5. 测试伪静态

完成以上步骤后,访问您的Tag标签页面,如http://www.yourdomain.com/tag{tid}{page}.html,应该可以看到静态化的页面。

注意事项

确保您的服务器和Dedecms版本支持伪静态。

如果遇到问题,请检查服务器配置和Dedecms版本是否兼容。

伪静态设置后,可能需要一段时间才能生效。

步骤可以帮助您在Dedecms织梦系统中设置Tag标签的伪静态。

    广告一刻

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