Codeigniter работает на одном сервере, но не на другом сервере

Я разработал веб-приложение с использованием codeigniter. В моем локальном хосте это работает правильно. Но пока я размещаю его на живом сервере (общий сервер), он не работает. Я получаю домашнюю страницу при вызове основного URL на работающем сервере, но любой URL через контроллер не работает

При вызове URL " http://my_domain.in/pages/second_page" появляется следующая ошибка

The requested URL /my_domain.in/my_domain.in/index.php/pages/second_page was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Apache Server at my_domain.in Port 80

Я заметил в URL-адресе строки ошибки, что мое доменное имя повторяется, но на реальном URL-адресе оно не так, и index.php также найден Поэтому я много раз менял коды.htaccess, чтобы решить эту проблему. В этот раз URL-адрес сообщения об ошибке изменяется, но успешный результат не был получен.

Наконец я разместил его на сервере моего друга. тогда он работает как мой локальный хост. Подскажите, пожалуйста, в чем будет проблема моего сервера? Есть ли что-то, чтобы включить или отключить при использовании codeigniter на этом сервере? Платформа codeigniter никогда не используется на этом сервере.

2 ответа

Похоже, что вы прячете index.php, но ошибка упоминает об этом ==> /my_domain.in/my_domain.in/index.php/ pages / second_page не найдено

Вы тоже удалили его на странице конфигурации? \ Config\config.php

убедитесь, что $config['index_page'] = ''; и добавьте файл.htaccess с этими строками


    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule .* index.php/$0 [PT,L]

У меня была эта проблема при тестировании на машинах с Windows и Linux, и я настроил config.php следующим образом.



    if (file_exists(FCPATH.'.htaccess')) {
     $config['index_page'] = '';
    }
    else {
     $config['index_page'] = 'index.php';
    }

Первый тест без файла.htacsess Если все прошло хорошо, поместите файл.htaccess в корень и попробуйте снова.

Если вы все еще получаете эту ошибку, посмотрите на ссылки, которые вы закодировали, и посмотрите, упоминается ли в нем index.php.

Для получения лучшего ответа необходимо указать имя хостинг-провайдера. Вы можете попробовать со следующим.htaccess.

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php?/$1
Другие вопросы по тегам