我有一個相當大的站點,其中站點建設者的所有內部路徑自動設置爲小寫(在頁面本身,菜單等)。目前,我們還有其他站點鏈接到站點的新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