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