Если после переноса сайта на CodeIgniter 3.1.9 у вас перестали работать ссылки, нужно выполнить ряд проверок и шагов для устранения проблемы:
1. **Проверьте конфигурацию `config.php`:**
- Удостоверьтесь, что `base_url` правильно настроен. Это должен быть полный URL вашего сайта, включая `http://` или `https://` и нужный домен или IP.
```php
$config['base_url'] = 'http://yourdomain.com/';
```
2. **Файл `.htaccess`:**
- Убедитесь, что у вас есть правильно настроенный `.htaccess` файл, если вы использовали mod_rewrite для "чистых" URL.
Пример базового содержимого для `.htaccess` в корне CodeIgniter:
```apache
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_URI} ^application.*
RewriteRule ^(.*)$ /index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?/$1 [L]
```
Убедитесь также, что модуль `mod_rewrite` включен в настройках вашего веб-сервера Apache.
3. **Настройки роутинга:**
- Проверьте файл `application/config/routes.php`, чтобы убедиться, что все маршруты корректно заданы. Особое внимание уделите маршруту по умолчанию (default route):
```php
$route['default_controller'] = 'welcome';
```
4. **Разрешения файлов и каталогов:**
- Проверьте разрешения на файлы и каталоги, чтобы убедиться, что у сервера есть доступ к чтению и, при необходимости, к записи.
5. **Конфигурация PHP:**
- Убедитесь, что `short_open_tag` включен в вашем файле `php.ini` (если вы используете короткий синтаксис PHP).
6. **Конфигурация сервера:**
- Если вы используете Nginx или другой сервер вместо Apache, убедитесь, что правила перезаписи (rewrite rules) или соответствующие директивы адаптированы под ваш веб-сервер.
7. **Чистка кеша:**
- Очистите кеш браузера и сервера, если используется система кеширования, чтобы исключить возможность кеширования старых, неправильных путей.
8. **Проверка журналов ошибок:**
- Просмотрите логи ошибок веб-сервера и PHP логи, чтобы определить возможные проблемы с роутами.
9. **Обновление путей в файлах кода:**
- Убедитесь, что ваши ссылки на скрипты, стили и изображения используют правильные пути. CodeIgniter может использовать хэлперы, такие как `base_url()` и `site_url()`, для генерации URL.
10. **Использование контроллеров и методов:**
- Проверьте, что имена контроллеров и методов соответствуют тем, что указаны в ваших маршрутах и что они правильно названы (с учетом регистра символов).
После выполнения этих шагов и внесения возможных исправлений, попробуйте снова открыть ваш сайт.