Контроллер Codeigniter по умолчанию не работает - PullRequest
0 голосов
/ 31 января 2012

Я почти закончил веб-приложение, используя Codeigniter.В процессе разработки корневым каталогом является / readme / , и я использую следующий код в .htaccess для удаления index.php в URL:

RewriteEngine On
RewriteBase /readme
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

Я также установил Readme_home в качестве контроллера по умолчанию, поэтому следующий URL будет напрямую указывать на контроллер по умолчанию:

http://localhost/readme

Для производства я использую ту же конфигурацию, что и для разработки, но следующий URL не работаети выдает ' Доступ к каталогу запрещен ' ошибка:

http://www.mydomain/readme

Вместо этого я должен использовать

http://www.mydomain/readme/readme_home

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

1 Ответ

0 голосов
/ 01 февраля 2012

Попробуйте:

$RewriteRule ^(.*)$ index.php/$1 [NC,L,QSA]

В зависимости от вашего хоста, ваш uri_protocol может быть не обнаружен должным образом. В файле config / config.php переключите uri_protocol на любой из перечисленных параметров. У меня была такая же проблема при запуске моего приложения на VPS. В настоящее время PATH_INFO работает.

/*
|--------------------------------------------------------------------------
| URI PROTOCOL
|--------------------------------------------------------------------------
|
| This item determines which server global should be used to retrieve the
| URI string.  The default setting of 'AUTO' works for most servers.
| If your links do not seem to work, try one of the other delicious flavors:
|
| 'AUTO'            Default - auto detects
| 'PATH_INFO'       Uses the PATH_INFO
| 'QUERY_STRING'    Uses the QUERY_STRING
| 'REQUEST_URI'     Uses the REQUEST_URI
| 'ORIG_PATH_INFO'  Uses the ORIG_PATH_INFO
|
*/
$config['uri_protocol'] = 'PATH_INFO';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...