你在这里


pathauto

开启了Pathauto模块的Drupal多语言网站访问极慢的问题

James Qi 2013年3月6日 - 16:39 发布

  各国邮编的系列网站是用Drupal 6搭建的,当初都开启了Pathauto, Boost等模块,使用起来也都还正常,后来将一部分网站进行了50种多语言和手机版的扩充,访问速度就感觉要慢一些,最近一两个月来扩充得越多就感觉网站访问越慢,而且后来取消了Boost缓存(因为没有那么大的硬盘来缓存100倍的文件,即使可以放得下,文件数量太多访问也慢)后感觉更慢了一些。

  这个问题先在google webmaster tools中有所发现,但直到最近操作越来越慢才引起重视,监控软件的报错也开始频繁,昨天再一查监控软件的记录,这个系列的子网站打开首页都需要20秒以上,基本上没有办法正常使用了,必须尽快解决、马上解决。

  昨天就开始找办法,先以为是Views引起的,对一些MySQL字段添加索引后依然没有解决,再安装Devel仔细排查SQL语句,发现有过多的drupal_lookup_path,一个首页就达到100多条在url_alias表中查找路径的语句,网上资料有人说遇到类似问题,主要有两种解决办法:

Drupal的Pathauto模块生成带有单引号、双引号、反斜杠URL问题及解决

James Qi 2011年8月3日 - 23:50 发布

  前一阵子导入的美国企业名录中有不少标题都带有单引号,例如:A J's Ribs A-Go-Go,用Drupal中的Pathauto模块生成的URL为:

http://ak.mingluji.com/business_directory/A_J%27s_Ribs_A-Go-Go

  可我却无法打开这个页面,报错page not found。我让同事专门把Pathauto设置中的各种字符都测试了一遍,单引号、双引号、反斜杠这3种无法正常显示,而其他的几十个(例如逗号、中括号、分号、句号等)都是正常的。好像这三个字符在转义符号中比较特别。

  有打开dev模块查看报错页面的数据库查询情况,发现这3个字符有时经过了两次转义,不知道怎么多出了一次,结果就找不到了。我自己对php、MySQL了解得并不多,写了封邮件询问网上的一位曾经给我推荐Drupal的朋友Nanyang Zhan,没想到很快就有答复,然后不断沟通了几个来回,终于是把问题解决了,我在path.inc中添加了3行来处理3个符号:

自由标签:

编写PHP程序实现Drupal中pathauto模块的批量生成URL别名(Alias)

James Qi 2011年2月10日 - 16:20 发布

  为了网站SEO的需要,我在Drupal中安装了第三方模块pathauto,用于在页面生成时自动产生一个带有关键词的URL别名。不过前一阵子导入数据的时候,pathauto的事先设置没有做好,必须在设置好了以后将前面不符合规范的别名都删除,然后重新生成。

  在菜单中有批量生成Alias的功能,但默认是每次生成50个,可以修改为几百,再多了就会超时报错,而且当需要重新生成的数量到10万的时候,需要在Web页面上操作数百次以上,很不现实,只有设法编个程序来做了。

  好在Drupal的用户数量很大,被数十万个网站采用,所以各种英文资料比较齐全,讨论留言中也可以找到很多有用信息。于是我搞了下面这个小程序来实现批量生成:

<?php
include_once './includes/bootstrap.inc';
include_once './sites/all/modules/pathauto/pathauto.inc';
include_once './sites/all/modules/pathauto/pathauto_node.inc';

自由标签:

订阅 RSS - pathauto