^(.*)/([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’;
“`
再找到以下代码:
“`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}&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
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复