この質問に関連する新しい質問がありますが、質問がまったく一致しないため、この新しいトピックを作成しています。しかし、それは良い参考のためです。
私は物事について考えlogsを変えました、大丈夫です。しかし、私はと呼ばれる別のコントローラーを持っています。この場合、私は本当にURLを変更したいと思います。私はURLがそうなるのが嫌いです、私はそれをしたいです。これははるかにクリーンであり、この規則は、ではなく、とも呼ばれる他のサイトと100%一致するようになりました。ただし、慣例により、コントローラーを呼び出す必要があります。loglogsWikisControllerexample.com/wikis/subject.htmlexample.com/wiki/subject.htmlwikiwikisWikisControllerCakePHP
さて、今、本当の問題が発生します。私は現在、次のルーティングを使用していましたConfig/routes.php:
Router::connect('/wiki/:action/*', array('controller' => 'wikis'));
Router::connect('/wiki/*', array('controller' => 'wikis'));
これは、他のトピックのソリューションで使用されるコードです。しかし今、私は少し問題にぶつかっています。まあ、すべてがうまく機能するので、それは本当に大きな問題ではありません。しかし、私はそのURLが好きではありません。
次のようにリンクを作成すると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、私はただ見せません。これはURLの余分な単語であり、ユーザーが自分の居場所を理解する必要はありません。
以前に発生した小さなバグのためlink、controllerandキーを使用して作成しています。actionを指定しなかった場合、明らかに、不要actionなリンクが作成されます。したがって、キーを配列example.com/edit.htmlに追加する必要があります。action => indexこれが本当のバグかどうかはわかりませんが、問題ではありません。Index = indexそしてそれを変えるものは何もありません。私のURLが正しいページを指していると確信しているのは良いことなので、を追加することactionは私にとって問題ではありません。
念のため:
上記とまったく同じ方法でexample.com/flights/index.htmlページからリンクを作成すると、URLからexample.com/flights/add.htmlその部分が削除され、よりクリーンな/indexURLが作成されます。example.com/flights.html
したがって、ルーティングに何らかの影響を与える必要がありますが、私には何がわかりません。