我有一个与这个问题相关的新问题,但由于这些问题根本不匹配,我正在创建这个新主题。但它是一个很好的参考。
我改变了主意logs
,这log
很好logs
。但是我有另一个名为 的控制器WikisController
,在这种情况下,我真的很想更改 URL。我只是讨厌 URL 将是example.com/wikis/subject.html
,我希望它是example.com/wiki/subject.html
。它更干净,并且该约定现在与其他也称为 的站点 100% 匹配wiki
,而不是wikis
。WikisController
但是,由于CakePHP
约定,我希望调用控制器。
好吧,现在真正的问题来了。我目前正在使用以下路由Config/routes.php
:
Router::connect('/wiki/:action/*', array('controller' => 'wikis'));
Router::connect('/wiki/*', array('controller' => 'wikis'));
这是另一个主题中的解决方案使用的一段代码。但现在我遇到了一点麻烦。好吧,这并不是一个大问题,因为一切正常。但我不喜欢这个网址。
当我从以下创建链接时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
andcontroller
键创建。action
当我没有指定 时action
,它显然会创建一个example.com/edit.html
我不想要的链接。所以我必须将action => index
密钥添加到数组中。我不确定这是否是一个真正的错误,但这不重要。Index = index
没有任何改变。我确信我的 URL 指向正确的页面是一件好事,因此添加action
对我来说不是问题。
只是为了注意:
当我以与上面完全相同的方式example.com/flights/index.html
从页面创建链接时,它会从 urlexample.com/flights/add.html
中删除该部分,并简单地创建一个更清晰的 url。/index
example.com/flights.html
所以它必须与路由有关,但我不知道是什么。