Видите «404 Not Found» после установки?
Что это такое: страница «404 Not Found», которая иногда встречает вас сразу после свежей установки, когда вы пытаетесь открыть /admin или любую другую страницу.
Почему это происходит (и почему не стоит паниковать): TSync использует чистые, аккуратные веб-адреса — вроде your-site.com/admin вместо более длинного и громоздкого. Чтобы эти аккуратные адреса работали, на вашем веб-сервере должна быть включена одна небольшая настройка, которая тихо перенаправляет каждый адрес туда, куда нужно. Пока эта настройка не включена, каждая страница показывает 404. Это частая заминка при первой установке, она не означает, что что-то сломано или потеряно, и исправляется быстро.
Тест на 30 секунд, чтобы убедиться, что дело именно в этом
Попробуйте открыть «длинную форму» адреса, добавив index.php в середину:
https://your-domain.com/index.php/admin
- Если эта страница открывается, а
https://your-domain.com/admin(безindex.php) по-прежнему показывает 404 — отлично, это подтверждает диагноз. Нужно лишь включить настройку перенаправления. Выберите ниже раздел, который подходит вашему серверу. - Если не открывается ни та, ни другая, вероятно, дело в другой проблеме настройки — руководство по Base URL будет хорошей следующей остановкой.
Вам нужен только тот раздел, который подходит вашему хостингу.
Apache (самый распространённый веб-сервер)
Здесь три вещи для проверки, сверху вниз.
1. Включите функцию перенаправления
Эта команда проверяет, включена ли в Apache функция перенаправления URL:
apachectl -M | grep rewrite
# Если включена, вы увидите: rewrite_module (shared)
Если ничего не выводится, включите её и перезапустите Apache:
sudo a2enmod rewrite
sudo systemctl restart apache2
2. Убедитесь, что файл .htaccess на месте
В составе TSync есть небольшой файл с именем .htaccess, в котором хранятся инструкции перенаправления. Он должен находиться в главной папке установки (на верхнем уровне, а не только внутри application/) и содержать:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Частая ловушка: файлы, имена которых начинаются с точки, считаются «скрытыми», и некоторые инструменты загрузки случайно их пропускают. Если файл отсутствует, включите в вашем инструменте загрузки «показывать скрытые файлы» и загрузите его снова.
3. Разрешите этому файлу действовать
Одна настройка сервера решает, читается ли файл .htaccess вообще. В конфигурации вашего сайта (часто /etc/apache2/sites-enabled/your-site.conf) убедитесь, что присутствует:
<Directory /var/www/your-app>
AllowOverride All
Require all granted
</Directory>
Затем перезапустите Apache, чтобы он подхватил изменение:
sudo systemctl restart apache2
Nginx
Nginx работает немного иначе — он вообще не использует файл .htaccess. Вместо этого добавьте правила перенаправления прямо в конфигурацию вашего сайта (часто /etc/nginx/sites-enabled/your-site.conf):
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Затем проверьте, что конфигурация корректна, и перезагрузите её:
sudo nginx -t && sudo systemctl reload nginx
IIS (Windows Server)
В составе TSync есть файл web.config с уже настроенными правилами перенаправления, так что всё должно работать сразу. Если этот файл отсутствует, для перенаправления адресов нужно установить бесплатное дополнение от Microsoft — URL Rewrite 2.0.
cPanel или виртуальный хостинг
На большинстве виртуальных хостингов функция перенаправления уже включена, поэтому обычно ничего трогать не нужно. Если вы всё же видите 404:
- В Диспетчере файлов (File Manager) включите «Show Hidden Files» (показывать скрытые файлы) и проверьте, что
.htaccessесть в вашей главной папке. - Если файла нет, загрузите его снова, настроив инструмент так, чтобы он включал скрытые файлы.
- Если всё равно не работает, напишите короткое сообщение в поддержку вашего хостинга, чтобы подтвердить, что перенаправление URL включено — оно редко бывает выключено, но спросить стоит.
Убедитесь, что всё работает
После того как вы внесли изменение, попробуйте эти адреса:
https://your-domain.com/admin→ должна показаться страница входаhttps://your-domain.com/clients→ клиентский порталhttps://your-domain.com/admin/dashboard→ ваша панель управления, после входа
Если 404 всё ещё появляется, журнал ошибок сервера обычно подскажет причину. Эта команда показывает последние записи в реальном времени:
# Apache
tail -f /var/log/apache2/error.log
# Nginx
tail -f /var/log/nginx/error.log
Смотрите также
- Что такое «Base URL» и почему это важно — если тест выше привёл вас сюда
- Установка и первая настройка