2012-04-27 6 views
2

Как дела?URI маршрутизация не работает (многоязычный)

Резюме: Я пытаюсь переместить мой сайт с локального хоста на Амазонка-ec2 и почти любой маршрут приносит «Запрошенный URL example.com/xxx/yyy/ не был найден на этом сервере.

Контекст.

  • Использование CodeIgniter структуры в public_html, приложения и системы
  • Мы b в URI. Пример: localhost/public_html/es/main.
  • Для тестирования на одной странице (регистрация) она маршрутизируется по-другому: localhost/public_html/admin/register.
  • Страница работает с localhost.

Выпуск: Я загрузил страницу в мой EC2, и когда я пытаюсь получить доступ, почти на каждой странице отображается сообщение об ошибке 404. Просто Регистрация страница работает, но только если я позвоню через example.com/index.php/admin/register (example.com/admin/register несет ту же ошибку 404).

Любые советы или идеи для изучения были бы очень желанными! Благодаря!!

PS: В случае, если это помогает, я делюсь своим текущим кодом маршрута.php.

$route['default_controller'] = "main"; 
$route['404_override'] = ''; 
$route['^(en|es)/(.+)$'] = "$2"; 
$route['^(en|es)$'] = $route['default_controller']; 
+2

тривиальной точкой для начала поиска является поиск строки, которая попадает в функцию маршрутизации, и посмотреть, как она отличается от указанного вами маршрута-регулярного выражения; вам не нужно выделять начало и конец шаблона? –

ответ

4

вопрос был в httpd.conf, где "AllowOverride" для public_html (где я подать в .htacces) был установлен в «None ».

Мне просто пришлось изменить его на Все.

Спасибо AchrafSoltani и Grigorash за попытку, очень благодарен!

3

Проблема: Я загрузил страницу в мой EC2, и когда я пытаюсь получить доступ, почти на каждой странице отображается сообщение об ошибке 404. Просто зарегистрируйте работу страницы, но только если я назову ее через example.com/index.php/admin/register (example.com/admin/register несет ту же ошибку 404).

Это означает, что либо .htaccess отсутствует, установлен неправильно. По умолчанию воспламенитель кода полагается на index.php для обработки всех запросов, но поскольку он выглядит уродливым по URL-адресу, вы должны добавить .htaccess с правильными параметрами, чтобы удалить его из URL-адреса, а затем откройте config.php из системы/приложения/каталог конфигурации и заменить:

$config['index_page'] = “index.php” 

в

$config['index_page'] = “” 
+1

Спасибо, я исследую его, но у меня уже был $ config ['index_page'] = "", а мой .htaccess был в порядке.Проблема была в httpd.conf, но в любом случае большое спасибо за помощь! –

Смежные вопросы