Codeigniter 404 не может найти index.php (только на реальном сервере, а не на виртуальном сервере) - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть рабочая веб-страница с CodeIgniter.Теперь я просто загрузил его на свой веб-сервер, и он выдает ошибку 404.

Адрес браузера: "web-page.com/folder/en/about"

Baseurl вconfig "web-page / folder /"

Также это в config.php, я пробовал AUTO, но он тоже не работает.

$config['index_page'] = "";
$config['uri_protocol'] = "QUERY_STRING";

index.phpв "web-page.com/folder/"

Мой htaccess находится в" web-page.com/folder/.htaccess"

Содержимое .htaccess составляет

AddCharset utf-8 .css .html .xhtml
Options +FollowSymlinks
RewriteEngine on
RewriteBase  /folder/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(index\.php|images|media|layout|css|libs|robots\.txt)
RewriteRule ^(.*)$ /folder/index.php?/$1 [L]

Есть ли у вас какие-либо советы, какие-либо идеи, что я могу попытаться сделать?Я все права проверил, даже с 777 не работает.

Заранее спасибо.

Лукас

Ответы [ 5 ]

2 голосов
/ 15 апреля 2010

Я знаю, что это должен быть комментарий, но, видимо, у меня еще недостаточно представителей. Кто ваш веб-хостинг? Иногда это может привести к гибели всего процесса.

Я знаю, что GoDaddy требуются некоторые другие настройки конфигурации для CodeIgniter для правильной работы без index.php.

Если это так, вам нужно изменить элемент конфигурации uri_protocol на QUERY_STRING.

Вы можете оставить настройку index_page пустой, но вам необходимо обновить файл htaccess до следующего:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L] 
1 голос
/ 15 апреля 2010

Ладно, глупый, глупый я.Я понял.

Ошибка была в моем "rout.php", я должен был уменьшить регистр по умолчанию с

$route['default_controller'] = "Base";

до:

$route['default_controller'] = "base";

Мой оффлайнСервер действительно работал с ним, хотя.Спасибо за поддержку.

0 голосов
/ 05 июля 2016

если кто-то прочитает этот пост еще раз, не забудьте проверить все прописные и строчные буквы в URL

0 голосов
/ 06 июля 2012

Попробуйте

$config['uri_protocol'] = REQUEST_URI 

изменение между REQUEST_URI или QUERY_STRING сработало для меня

0 голосов
/ 12 октября 2011

По крайней мере, стоит упомянуть, что я получал http-код 404, несмотря на то, что я мог выводить данные на экран. Проблема возникла при попытке передать данные POST между формами.

Короче говоря, убедитесь, что у вас включен apache rewrite:

apache2ctl -t -D DUMP_MODULES

ИЛИ ищите mod_rewrite в разделе «Загруженные модули» в разделе «apache2handler» в phpinfo ().

К включить перезапись apache:

sudo a2enmod rewrite

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

...