Intereting Posts

codeigniter .htaccess работает, но не может найти контроллер

Я использую CI версии 3.1.0

и внутри моего файла httacces, как это

RewriteEngine on RewriteCond $1 !^(index\.php|public|\.txt) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 

и я меняю свой конфигурационный файл на $config['index_page'] = ''

Я работаю, но CI, похоже, не может найти контроллер, запрашивающий fromm url. пример localhost/site/index.php/welcome его работу, как ожидалось, но при запросе его с localhost/site/welcome я получил 404 страницы не найден.

Не могли бы вы попытаться заменить последнюю строку на

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

Это немного зависит от хостинга, я тоже заметил, что это может не сработать. Включен ли mod_rewrite или эквивалент?

Если ваше приложение запущено внутри каталога / сайта /, что вы положили в $ config ['base_url']?

Я использую это:

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

Если вы уже выполните следующее: учебное пособие , вам нужно установить директиву AllowOverride для all в том пути, где находится ваше приложение. Это необходимо, потому что вы используете файл .htaccess . Больше .

Если для этой директивы установлено значение None и AllowOverrideList установлено значение None, файлы .htaccess полностью игнорируются. В этом случае сервер даже не попытается прочитать файлы .htaccess в файловой системе.

Запомнить:

Вы должны полностью избегать использования файлов .htaccess, если у вас есть доступ к конфигурационному файлу httpd main server. Использование файлов .htaccess замедляет ваш HTTP-сервер Apache. Любая директива, которую вы можете включить в файл .htaccess, лучше устанавливается в блоке Directory, так как она будет иметь тот же эффект с лучшей производительностью.

Это рекомендация разработчика: вот .