Dedecms织梦系统Tag标签如何设置伪静态
准备工作
在设置织梦DedeCms(简称Dedecms)的Tag标签伪静态之前,需要确保你的网站空间支持伪静态,这是非常重要的一步,如果空间不支持伪静态功能,所有的设置都将无效,你可以联系空间的IDC商确认,如果是自己的服务器,则更好处理,对于Apache服务器,伪静态设置相对简单,直接在.htaccess文件中加入相应伪静态规则即可;而对于IIS服务器,则需要加载Rewrite组件,然后配置httpd.ini文件。
后台开启伪静态
1、登录织梦后台:进入“系统” > “系统设置” > “核心设置”,找到“是否使用伪静态”选项并选择“是”。
2、启用问答模块伪静态:如果你启用了问答模块,还需要在“系统参数” > “模块设置”中将“是否使用伪静态”设置为“是”。
3、创建栏目或文章时选择动态浏览:在创建栏目或批量增加栏目时,选择“使用动态页”;在添加新文章时,发布选项选择“仅动态浏览”,这些操作可以通过修改模板来默认实现。
修改PHP源码
1、修改tags.php文件:打开程序目录下的tags.php文件,找到$PageNo=1
到exit();
之间的代码,将其替换为以下代码:
```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
";
}
```
设置伪静态规则
根据不同的服务器类型,设置相应的伪静态规则。
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}&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上传的文件
$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标签的伪静态。