我正在使用CakePHP 2.3。。用utf-8字符命名的.ctp文件無法找到
在routes文件,我已經包含了這樣的事情:
Router::connect('/thomas-lammle', array('controller' => 'pages', 'action' => 'display', 'thomas-lämmle'));
我想.ctp文件,它的顯示被命名爲這個名字,包括點過一個,從而使自動生成的頁面標題將正確顯示。在一臺服務器我已經試過了,它工作正常,但在另一方面,它引發以下錯誤:
Missing View
Error: The view for PagesController::display() was not found.
Error: Confirm you have created the file: /www/test_site/public_html/app/View/Pages/thomas-lämmle.ctp
Notice: If you want to customize this error message, create app/View/Errors/missing_view.ctp
當然兩臺服務器上存在一個名爲托馬斯 - lämmle.ctp的文件,這是奇怪,因爲我不能告訴爲什麼它甚至報告文件丟失,當名稱看起來與絕對存在的文件相匹配時。它可以是我的Apache設置的東西?如果是這樣,可以通過以某種方式更改.htaccess文件來解決這個問題嗎?
我個人試圖阻止這種文件名,因爲有些服務器不能很好地處理它們。在你的情況下,最簡單的解決方法當然是重命名文件(作爲獎勵,它也可以匹配請求的URL在你的路線:)) – thaJeztah
@thaJeztah是的,這就是我最終做的,因爲我沒有直接控制問題服務器。 – Kai
有時候這只是最好的方法,儘管它應該*可以用UTF8文件名。可能是CakePHP中的錯誤或服務器或PHP的配置中的錯誤,PHP中的代碼頁轉換可能會在* ss中進行調試。 – thaJeztah