【发布时间】:2012-01-25 10:28:00
【问题描述】:
我有一个相当大的网站,网站建设者将所有内部路径自动设置为小写(在页面本身、菜单等中)。目前,在新的 D7 版本站点中,我们有其他站点链接到数百到可能 1,000 多个节点的旧(大写)版本。
所以指向http://www.example.com/alzheimers 的链接可以正常工作,但是如果我手动输入http://www.example.com/Alzheimers,我会被带到我们的自定义404(我们的Drupal 主题显示该消息)。这是一个问题,因为它是一个高可见度的站点,有很多指向旧 URL 的外部链接。
网站建设者还尝试手动输入/Alzheimers → /alzheimers 的重定向,当然,这会造成无限重定向循环、黑洞、僵尸战争等。
我尝试使用 apache“mod_speling”来处理这个问题,但没有成功,尽管我对这个 mod 没有丰富的经验。我想知道我是否可能遗漏了什么/是否需要特定的大写更改规则?我遵循的说明让我启用了 mod 并重新启动 Apache。它没有帮助。
所以我想知道我是否需要连接到主题 (hook_init?) 以获取请求的 URL 并输入一点 PHP 来将字符串设置为更低。有任何想法吗?我对它进行编码没有任何问题,但如果有更简单的方法来处理它,任何帮助将不胜感激。
因为这对于任何为 Windows 编写并通常转移到 Drupal 或 LAMP 的网站来说都是一个典型问题,所以我不可能是第一个需要解决这个问题的人。
如果需要自定义 Drupal 代码,最好把它挂在哪里?
【问题讨论】:
标签: php apache mod-rewrite drupal-7 mod-speling