在网站开发中,优化前台显示链接是提升用户体验和搜索引擎优化(SEO)的重要步骤。本文将详细介绍如何将原有的 /tags.php?keywors 链接更改为更友好的 /tags/keywords.html 格式。
首先,我们需要对调用的标签进行修改。具体操作是在 includetaglibtag.lib.php 文件中找到第 87 行:
$row['link'] = $cfg_cmsurl."/tags?".urlencode($row['keyword']);
将其更改为以下代码:
$row['link'] = $cfg_cmsurl."/tags/".urlencode($row['keyword']).".html";
接下来,需要修改分页代码。打开 include/arc.taglist.class.php 文件,并将分页函数替换为以下内容:
function GetPageListDM($list_len,$listitem="info,index,end,pre,next,pageno") {
// ... (省略部分代码)
}
以上代码实现了自定义分页功能,确保生成的链接符合新的 URL 格式。
最后一步是设置伪静态规则。创建一个名为 web.config 的文件,并添加以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="weather1" stopProcessing="true">
<match url="tags/([^-]+).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?/{R:1}" appendQueryString="false" />
</rule>
<rule name="weather2" stopProcessing="true">
<match url="tags/([^-]+)-([0-9]+).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?/{R:1}/{R:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
将上述配置文件保存为 web.config 并放置在站点根目录下。
完成以上步骤后,请重新生成 HTML 页面以应用更改。最后,预览页面以确认所有设置均已正确生效。
通过这些步骤,您可以成功地将传统 PHP 链接转换为更美观且对 SEO 更友好的静态化 URL 格式。
注意事项:
在实际操作中,请确保备份原始文件以防万一出现问题时可以快速恢复。此外,根据服务器环境的不同,可能需要调整伪静态规则以适应特定需求。