Ошибка сервера Codeigniter, когда URL содержит какой-либо контроллер или метод с аргументами на хостинге

Я разработал свой сайт на localhost, используя платформу codeigniter, затем получил доменное имя и услугу хостинга от www.web.com.

Я загружаю свой сайт в папку htdocs в корневой папке сервера.
Это структура:

  • /
    • CGI-BIN
    • HTDOCS
      • приложение
      • система
      • JS
      • CSS
      • IMG
      • index.php
      • .Htaccess

Предположим, что мой домен www.example.com и это указывает на папку htdocs.

Когда я печатаю www.example.com он успешно открывает мою домашнюю страницу без ошибок.

Но когда я пытаюсь открыть любую другую страницу, такую www.example.com/products или же www.example.com/products/browse_product/2 он загружает страницу успешно, но в конце каждой страницы эта ошибка всегда появляется

ОШИБКА СКРИНШОТА

Мой файл .htaccess:

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

1

Решение

Я решил проблему, выполнив это:

/ * файл config.php * /

$config['index_page'] = '';
$config['uri_protocol'] = 'REQUEST_URI';

/ * route.php file * /

$route['default_controller'] = "home";
$route[''] = "home/index";
$route['home'] = "home/index";
$route['404_override'] = '';

/ * основной файл .htaccess * /

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]