如何在IIS10上为DEDECMS设置有效的列表页和内容页伪静态规则?

要在IIS10中设置DEDECMS列表页和内容页的伪静态,请按照以下步骤操作:,,1. 打开IIS管理器,找到您的DEDECMS网站。,2. 在功能视图中,双击“URL重写”模块。,3. 点击“添加规则”,选择“空白规则”。,4. 在“名称”中输入一个规则名称,dede_list”。,5. 在“匹配URL”部分,输入以下正则表达式:^(.*)/([az]+)(d+).html$。,6. 在“条件”部分,添加一个条件,选择“{REQUEST_FILENAME}”作为输入,选择“与模式匹配”作为条件类型,输入以下正则表达式:.(?!gif|jpg|png|css|js)$。,7. 在“操作”部分,选择“重写URL”,在“重写为”中输入:/plus/view.php?aid={R:2}。,8. 点击“应用”按钮保存规则。,9. 重复步骤48,创建另一个规则,将名称设置为“dede_arc”,将正则表达式更改为:^(.*)/([az]+)(d+)(d+).html$,并将“重写为”更改为:/plus/view.php?aid={R:3}。,10. 点击“应用”按钮保存所有更改。,,完成以上步骤后,您的DEDECMS列表页和内容页应该已经成功设置了IIS10伪静态。

DEDECMS列表页,内容页IIS10伪静态设置

在网站开发中,伪静态技术能够提高网站的SEO效果和用户体验,本文将详细介绍如何在IIS10环境下为DEDECMS v5.7版本配置列表页、内容页及TAGS页的伪静态,确保搜索引擎更好地收录动态页面。

准备工作

环境要求

操作系统:Windows Server 2016及以上

Web服务器:IIS10

数据库:MySQL

PHP版本:5.6及以上

DEDECMS版本:v5.7

安装必要组件

1、IIS URL重写模块:该模块是实现IIS伪静态的关键组件,可以从微软官网下载安装。

后台设置

1、开启伪静态功能

登录DEDECMS后台。

进入系统参数 > 核心设置,将“是否使用伪静态”选项设置为“是”。

2、执行SQL命令

进入系统 > SQL命令行工具。

执行以下SQL语句:

“`sql

update dede_arctype set isdefault=1;

update dede_archives set ismake=1;

“`

这将把所有已生成的静态页面设置为动态浏览模式。

3、修改模板文件

打开/dede/templets/article_add.htm文件。

找到以下代码:

“`html

<input name="ishtml" type="radio" class="np" value="1" checked="1" />

“`

将其修改为:

“`html

<input name="ishtml" type="radio" class="np" value="1" />

“`

再找到以下代码:

“`html

<input name="ishtml" type="radio" class="np" value="0"/>

“`

在其后面添加checked="checked",使其变为:

“`html

<input name="ishtml" type="radio" class="np" value="0" checked="checked"/>

“`

4、删除首页HTML文件

删除站点根目录下的index.html文件,以后不再更新主页HTML。

程序文件修改

1、修改频道单元辅助文件

打开/include/helpers/channelunit.helper.php文件。

搜索以下代码:

“`php

return $GLOBALS[‘cfg_plus_dir’]."/view".$aid.’1.html’;

“`

将其替换为:

“`php

return "/archives/view".$aid.’1.html’;

“`

如何在IIS10上为DEDECMS设置有效的列表页和内容页伪静态规则?

再找到以下代码:

“`php

$reurl = $GLOBALS[‘cfg_phpurl’]."/list.php?tid=".$typeid;

“`

将其替换为:

“`php

$reurl = "/category/list".$typeid.".html";

“`

2、修改列表页分页

打开/include/arc.listview.class.php文件。

搜索以下代码:

“`php

$plist = str_replace(‘.php?tid=’, ”, $plist);

“`

将其替换为:

“`php

$plist = str_replace(‘plus’, ‘category’, $plist); //将默认的plus替换成category

$plist = str_replace(‘.php?tid=’, ”, $plist);

“`

3、修改文章分页

打开/include/arc.archives.class.php文件。

找到获取动态分页列表的GetPagebreakDM()函数末尾部分,将以下代码:

“`php

$PageList = str_replace(".php?aid=","",$PageList);

“`

替换为:

“`php

$plist = str_replace(‘plus’, ‘archives’, $plist); //将默认的plus替换成archives

$PageList = str_replace(".php?aid=","",$PageList);

“`

4、修改TAG标签链接

打开/include/taglib/tag.lib.php文件。

搜索以下代码:

“`php

$row[‘link’] = $cfg_cmsurl."/tags.php?/".urlencode($row[‘keyword’])."/";

“`

将其替换为:

“`php

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

“`

修改模板文件templetsdefaulttaglist.htm,将其中的/tgas.php修改为/tags.html

伪静态规则配置

将以下代码另存为web.config文件,并放到网站根目录下。

<?xml version="1.0" encoding="UTF8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="首页">
                    <match url="^index.html$" ignoreCase="false" />
                    <action type="Rewrite" url="index.php" appendQueryString="false" />
                </rule>
                <rule name="列表页">
                    <match url="category/list([09]+).html" ignoreCase="false" />
                    <action type="Rewrite" url="/plus/list.php?tid={R:1}" appendQueryString="false" />
                </rule>
                <rule name="列表分页">
                    <match url="category/list([09]+)([09]+).html" ignoreCase="false" />
                    <action type="Rewrite" url="/plus/list.php?tid={R:1}&amp;page={R:2}" appendQueryString="false" />
                </rule>
                <rule name="内容页">
                    <match url="archives/view([09]+)1.html" ignoreCase="false" />
                    <action type="Rewrite" url="/plus/view.php?aid={R:1}" appendQueryString="false" />
                </rule>
                <rule name="TAGS页">
                    <match url="tags/([^/]+).html" ignoreCase="false" />
                    <action type="Rewrite" url="/tags.php?/{R:1}/" appendQueryString="true" />
                </rule>
                <rule name="TAGS分页">
                    <match url="tags/([^/]+)([09]+).html" ignoreCase="false" />
                    <action type="Rewrite" url="/tags.php?/{R:1}/{R:2}/" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

常见问题与解答FAQs

问题1:为什么伪静态设置完成后仍然无法访问?

回答:伪静态设置完成后无法访问的原因可能有以下几点:

1、IIS URL重写模块未正确安装:请确保已正确安装并启用该模块。

2、web.config文件路径错误:确保web.config文件放在网站根目录。

3、URL重写规则错误:检查web.config中的正则表达式和重写规则是否正确无误。

4、缓存问题:清除浏览器缓存或尝试使用隐私模式访问,如果问题仍未解决,重启IIS服务。

问题2:如何验证伪静态设置是否成功?

回答:可以通过以下几种方法验证伪静态设置是否成功:

1、查看网页源代码:通过浏览器查看网页源代码,确认URL是否以.html结尾。

2、日志检查:检查IIS日志,确认请求是否被重写为预期的URL格式。

3、使用开发者工具:使用浏览器的开发者工具(如Chrome的Network选项卡),查看请求的URL和响应状态码,确认是否成功加载了预期页面。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1106644.html

(0)
未希的头像未希新媒体运营
上一篇 2024-09-30 06:44
下一篇 2024-09-30 06:45

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入