我有一个相当大的站点,其中站点建设者的所有内部路径自动设置为小写(在页面本身,菜单等)。目前,我们还有其他站点链接到站点的新D7版本中的数百至1,000个以上节点的旧(大写)版本。大写外部链接到新的Drupal站点获得404
所以一个链接到http://www.example.com/alzheimers
工作正常,但如果我手动输入我得到了我们的自定义404(与我们的Drupal主题显示消息)。这是一个问题,因为它是一个高可见性网站,有很多外部链接到旧网址。
的sitebuilders还试图手动输入的/Alzheimers
重定向→/alzheimers
,当然,这创造了一个无限的重定向循环,黑洞,大战僵尸等
我试图用Apache来处理这个“mod_speling “,但没有成功,尽管我对这个mod没有丰富的经验。我想知道我是否可能错过了某些东西/它是否需要特定的大写更改规则?我遵循的指示让我启用mod并重新启动Apache。它没有帮助。
所以我想知道如果我需要钩入主题(hook_init
?)来获取请求的URL并抛出一个小小的PHP来设置字符串较低。有任何想法吗?我没有任何编码问题,但如果有一种更简单的方法来处理这个问题,任何帮助都将受到极大的赞赏。
由于这是任何为Windows编写的站点的典型问题,并且一般会转移到Drupal或LAMP,所以我不可能成为第一个需要修复此问题的人。
如果需要自定义Drupal代码,哪里最好把它挂在这样的东西?
优秀的答案。我也在考虑使用hook_boot,但我想我已经在某处读过其中一个没有在缓存页面上运行的东西,所以我认为为什么我认为hook_init会是一个更好的选择。 – amatusko 2011-12-22 05:25:59
呃。对不起,我是这种格式的新手。丢失的编辑。我喜欢将模块重新排列到top + 1的方法。我希望我有足够的repz来upvote你的答案。\ n所以我有一个请求,应该通过Apache进入我的服务器,但它显然被Drupal截获之前,或这是不可能的,因为Drupal内部运行在Apache中运行的PHP(可以这么说)。我无法理解drupal如何覆盖我的服务器设置。 (续) – amatusko 2011-12-22 05:33:53
具有讽刺意味的是,当网站构建者试图使用drupal的mod系统将重定向从/ Alz页面添加到/ alz页面时,他得到了旧的无限重定向循环错误业务。 – amatusko 2011-12-22 05:33:59