phpcms V9二级目录下分页路径不正确问题的彻底解决方法

yizhihongxing

下面我将为你详细讲解“phpcms V9二级目录下分页路径不正确问题的彻底解决方法”的完整攻略。

问题描述

当我们把phpcms V9放置在站点的非根目录下时,就会出现分页路径不正确的问题。原因是phcms V9默认使用的是根目录路径,而没有考虑站点放置的目录。例如,我们的站点放置在www.example.com/cms目录下,当我们访问分页时,路径会变成www.example.com/list-2.html,而实际上正确的路径应该是www.example.com/cms/list-2.html。这对搜素引擎的收录和网站SEO会造成一定的影响。

解决方法

修改配置文件

我们可以通过修改配置文件的方式解决此类问题,具体步骤如下:

  1. 打开网站根目录下的phpcms\core\lib\route.class.php文件
  2. 找到$_base_path变量,将其修改为站点的路径,在本例中即为/cms

php
$_base_path = '/cms'; //原默认值为‘/’

  1. 保存修改后的文件

修改配置文件后,需要重新生成一下栏目列表,在后台站点设置中先将栏目部分全部删除,然后再重新生成一下就好啦!

修改源码

如果修改配置文件无效,我们可以直接修改源码来解决。具体方法如下:

  1. 打开phpcms\modules\content\classes\content.class.php文件,找到param2方法
  2. 修改分页参数$page_urlrule的生成规则,将

php
$urls['page'] = list_url($catdir, $page);

修改为

php
$urls['page'] = APP_URL.$catdir.'/list-'.$page.'.html';

  1. 保存修改后的文件

修改源码后,同样也需要重新生成一下栏目列表。

示例说明

假设我们的站点目录为www.example.com/cms,其中栏目news的目录为/cms/html/news,栏目页的文件名为index.html,那么在分页时路径应该为www.example.com/cms/news/list-2.html

通过以上两种解决方法,我们均可以将分页路径正确的生成,避免对SEO和收录造成意外影响。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:phpcms V9二级目录下分页路径不正确问题的彻底解决方法 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 使用xssfworkbook读取excel

    以下是详细讲解“使用XSSFWorkbook读取Excel的完整攻略,过程中包含两个示例说明: 使用XSSFWorkbook读取Excel Apache POI是一个用于读写Microsoft Office格式文件的Java库,其中包括Excel文件。XSSFWorkbook是POI库中用于读取和写入.xlsx格式文件的类。本攻略将介绍如何使用XSSFWor…

    other 2023年5月10日
    00
  • Mapstruct对象插入数据库某个字段总是为空的bug详解

    下面是关于“Mapstruct对象插入数据库某个字段总是为空的bug”问题的完整攻略,包含了两条示例说明。 问题描述 在使用Mapstruct进行对象映射,将对象插入数据库后,发现其中一个字段总是为空,其他字段正常插入,而且在对象中该字段也有值,这是为什么呢? 解决过程 在解决该问题的过程中,需要对Mapstruct进行深入了解,并从以下方面进行排查: 映射…

    other 2023年6月25日
    00
  • Win10系统自由设置时间对电脑进行重启的方法

    下面为您详细讲解Win10系统自由设置时间对电脑进行重启的方法。 步骤一:打开计划任务程序 点击桌面左下角的Windows菜单,然后输入“任务计划程序”并进入。 在左侧面板中点击“任务计划程序库”,然后在右侧面板中点击“新建任务”。 进行任务的基本设置,包括任务名称、是否要以管理员身份运行任务、是否可以在不同用户之间运行任务等等。其中管理员身份运行任务可以让…

    other 2023年6月27日
    00
  • 在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField

    ASP.NET 2.0中的DetailsView控件是一个数据录入控件,可以绑定数据源并将数据显示在一个包含字段标签和相应值的表格中。在某些情况下,需要使用自定义模板来显示控件中的数据。这时候就需要使用到DetailsView控件中的TemplateField模板。 下面是在ASP.NET 2.0中使用DetailsView控件中的TemplateField…

    other 2023年6月26日
    00
  • ASP.NET Core中间件初始化的实现

    ASP.NET Core 中间件能够在请求管道中实现各种功能,如路由、身份验证、日志记录等。在使用这些中间件前,需要先进行初始化。 中间件初始化过程 ASP.NET Core中间件的初始化过程如下: 在 ConfigureServices 方法中注入所需的服务,例如数据库上下文。 在 Configure 方法中添加中间件到请求管道中。 在 Configure…

    other 2023年6月20日
    00
  • openbabel的安装与使用

    什么是OpenBabel? OpenBabel是一种化学信息学工具,用于处理化学结构数据。它可以读取、写入和转换多种化学文件格式,如SMILES、MOLPDB等。OpenBabel还提供了一些学计算功能,如分子对齐、药物性质预测等。 OpenBabel的安装 OpenBabel可以在Windows、Linux和Mac OS X等操作系统上安装。以下是在Ubu…

    other 2023年5月7日
    00
  • c盘怎么清理

    针对c盘清理,提供以下完整攻略步骤: 1.清理临时文件 第一步是清理系统中的临时文件。这些文件通常被存储在C:\Windows\Temp文件夹中,而该文件夹可能会包含大量文件。这些文件可能来自您一些过去执行的安装程序或其他任务的剩余文件。 首先,我们可以使用系统自带的磁盘清理工具来删除临时文件。以下是具体步骤: 1.打开文件资源管理器,右键单击C盘并选择“属…

    其他 2023年4月16日
    00
  • win7系统经常死机怎么办?win7系统电脑经常死机的几种原因及解决方法

    Win7系统经常死机怎么办? Win7系统电脑经常死机的问题,可能会给我们的日常使用带来很大的困扰,下面介绍几种原因及相应的解决方法。 原因一:硬件问题 经常死机的原因之一可能是硬件方面的问题,如内存、硬盘等。可以使用以下方法进行故障排查: 内存测试:首先可以尝试使用内存测试软件,如Memtest86等,来测试系统中的内存是否存在问题。 硬盘测试:也可以使用…

    other 2023年6月27日
    00
合作推广
合作推广
分享本页
返回顶部