Теги ссылки на Ember используют маршруты для открытия новых представлений, поэтому вы можете выполнять любые функции, которые вы хотите добавить в атрибут действия action ссылки в методе setupController
целевого маршрута, а не в действии контроллера.
См. Здесь в руководстве Ember: http://emberjs.com/guides/routing/setting-up-a-controller/
. Это работает, только если вы хотите выполнить действие каждый раз при доступе к маршруту, в отличие от конкретных ссылок.
Обязательно добавьте строку controller.set('model', model);
вместе со всем, что вы там вставили.
Если у вас есть права на настройку документов об ошибках для вашего сервера, вы можете использовать это для перенаправления запросов 404.
Например, для Apache ( http: //httpd.apache .org / docs / 2.0 / mod / core.html # errordocument )
ErrorDocument 404 /index.php
Затем в index.php вы можете продолжить свой запрос, используя данные из массива $ _SERVER.
Достаточно простой способ:
.htaccess
$ _ SERVER
и посмотрите, соответствует ли он какому-либо результату header ()
и включите индекс. php У вас также могут быть URL-адреса, подобные
http://domain.com/index.php/Blog/Hello_World
, прямо из коробки с PHP5. Затем вы можете прочитать параметры URL, используя
echo $_SERVER['PATH_INFO'];
Не забудьте проверить / отфильтровать PATH_INFO и все другие переменные запроса, прежде чем использовать их в своем приложении.
Единственный способ - использовать пользовательскую страницу 404. У вас нет возможности интерпретировать файлы без расширений с помощью интерпретатора PHP без перенастройки MIME-типов веб-сервера. Но вы говорите, что не можете редактировать даже .htaccess, поэтому другого выхода нет.
Если опция MultiViews
включена или вы можете убедить того, кто владеет ключами, включить ее, вы можете создать сценарий с именем Blog.php, который будет передавать запросы к example.com/Blog/foo
и получите '/ foo' в $ _ SERVER ['PATH_INFO']
.
Если вы опустите косую черту в конце, Apache будет обслуживать первый файл [в алфавитном порядке], который соответствует этому имени, независимо от расширения, по крайней мере, на 2 серверах, к которым у меня есть доступ.
Я не знаю, как вы могли бы использовать это для решения вашей проблемы, но в какой-то момент это может быть полезно.
Например, если
http://www.somesite.com/abc.html
и http://www.somesite.com/abc.php
существуют и http: // www. .somesite.com / abc
запрашивается, http://www.somesite.com/abc.html
будет обслуживаться.
Вы можете написать класс URI, который анализирует указанный вами удобный URL.