У меня есть новый вопрос, связанный с этим вопросом , но поскольку вопросы не совпадают вообще, я создаю эту новую тему. Но это хорошо.
Я изменил свое мнение о 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'));
Это часть кода, используемая решением в другой теме . Но теперь у меня проблемы. Ну, это не очень большая проблема, потому что все работает нормально. Но мне не нравится 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 с controller и ключом action из-за небольшой ошибки, с которой я сталкивался раньше. Когда я не указал action , он создаст ссылку на example.com/edit.html которую я не хочу, очевидно. Поэтому я должен добавить в массив ключ action => index . Я не уверен, что это настоящая ошибка, но это не имеет значения. Index = index и ничего не меняется. Хорошо, что я уверен, что мой URL-адрес указывает на правильную страницу, поэтому добавление action для меня не является проблемой.
Просто для хорошего уведомления:
Когда я создаю ссылку точно так же, как я сделал выше, на example.com/flights/index.html со страницы example.com/flights/add.html она удалит часть /index из url и просто создаст URL-адрес example.com/flights.html который намного чище.
Поэтому он должен что-то сделать с маршрутизацией, но я не могу понять, что.
Если я правильно вас понял, вам понадобится маршрут, который связывает /wiki с действием index контроллера:
Router::connect('/wiki', array('controller' => 'wikis', 'action' => 'index')); Router::connect('/wiki/:action/*', array('controller' => 'wikis')); ...