我有一個新的問題與this question有關,但由於問題根本不匹配,所以我創建了這個新主題。但這是很好的參考。Cakephp控制器別名不能完全工作
我改變了主意有關logs
到log
事情,logs
是罰款。但我有另一個控制器叫WikisController
,在這種情況下,我真的想更改URL。我只是恨它的網址將是example.com/wikis/subject.html
,我希望它是example.com/wiki/subject.html
。它更清潔,現在該公約與其他網站100%匹配,它也被稱爲wiki
,而不是wikis
。但是,由於CakePHP
慣例,我希望控制器被稱爲WikisController
。
那麼,現在出現了真正的問題。目前我用在Config/routes.php
以下路由:
Router::connect('/wiki/:action/*', array('controller' => 'wikis'));
Router::connect('/wiki/*', array('controller' => 'wikis'));
這是通過在other topic的溶液中使用的一段代碼。但是現在我遇到了一些麻煩。那麼,這不是一個大問題,因爲一切正常。但我不喜歡這個網址。
當我創建一個鏈接從example.com/wiki/edit.html
如下:
echo $this->Html->link('Wiki overview', array(
'controller' => 'wikis',
'action' => 'index',
'ext' => 'html'
));
它創建一個鏈接到example.com/wiki/index.html
完全罰款和它的作品,但我不希望顯示index.html
,我只是不」噸。這是一個額外的網址,用戶不需要了解他在哪裏。
我正在創建link
與controller
和action
的關鍵,因爲我之前有一個小錯誤。當我沒有指定action
時,它會創建一個到我不想要的example.com/edit.html
的鏈接,顯然。所以我必須將action => index
鍵添加到陣列中。我不確定這是否是一個真正的錯誤,但它應該沒有關係。 Index = index
,沒有什麼改變。這是一件好事,我確信我的網址指向了正確的頁面,所以添加action
對我來說不是問題。
只是爲了好通知:
當我創建的和我一模一樣的上面example.com/flights/index.html
從example.com/flights/add.html
頁面以同樣的方式鏈接它會刪除/index
部分從URL和簡單的創建一個URL到example.com/flights.html
這更清潔。
所以它必須做一些與路由,但我不知道什麼。
該解決方案似乎工作得很好。儘管如此,我必須對它進行更多的測試。如果是這個問題,我會把這個帖子標記爲答案。謝謝:)我刪除了我的當前路由的第二行,並沒有給出任何警告或錯誤。所以把第二行改成你的第一行並改變順序就是了。 – Jelmer
好吧,我測試了一下,它似乎工作正常。如果我遇到任何問題,畢竟我會讓你們知道。我會在前面的問題中發佈一個關於這個問題的鏈接。 – Jelmer