Я использую codeiginiter с angular-js и ui-router, как в этот начальный проект , и я хотел удалить /#/
из URL, поэтому я использовал:
$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);
в моем app.js .config
и я также добавил <base href="/">
на index.php
,
Теперь у меня нет /#/
на URL, но когда я обновляю страницу, я получаю 404, а также, если я копирую рабочий URL (который я получаю на него из основного представления) и вставляю его в строку URL, я также получаю сообщение 404.
я видел этот вопрос но я не хочу отменять свои 404, я не думаю, что это разумно.
а идеи?
Благодаря xkcd149ссылка на этот ответ Я понял, что изменение маршрутизации в codeiginiter 3, чтобы вы всегда проходили через корневой контроллер CI, должно выглядеть так:
на /application/config/routes.php
:
$route['default_controller'] = 'home'; //can have any name you want
$route['exampleUrl'] = 'home';
$route['anotherUrl/(:any)'] = 'home'; //this url passes a parameter
$route['anotherUrl/(:any)/(:any)'] = 'home'; //this one passes 2 parameters
Надеюсь, это кому-нибудь поможет.
Других решений пока нет …