javascript — ui-router с codeigniter выдает 404 при обновлении страницы или вставке URL с html5mode (true)

Я использую codeiginiter с angular-js и ui-router, как в этот начальный проект , и я хотел удалить /#/ из URL, поэтому я использовал:

$urlRouterProvider.otherwise('/');
$locationProvider.html5Mode(true);

в моем app.js .config и я также добавил <base href="/"> на index.php,

Теперь у меня нет /#/ на URL, но когда я обновляю страницу, я получаю 404, а также, если я копирую рабочий URL (который я получаю на него из основного представления) и вставляю его в строку URL, я также получаю сообщение 404.

я видел этот вопрос но я не хочу отменять свои 404, я не думаю, что это разумно.

а идеи?

2

Решение

Благодаря 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

Надеюсь, это кому-нибудь поможет.

2

Другие решения

Других решений пока нет …