Ошибка 404
Ты только что водрузил флаг Sngine на своём хостинге, предвкушая, как пользователи толпами ломанутся в твою соцсеть… А они видят ошибку 404 и безликую надпись «Not Found». Знакомо? Поздравляю, ты столкнулся с классикой жанра. Спойлер: всё чинится за чашку кофе, даже не успеет остыть.
1. Модуль mod_rewrite: твой невидимый ниндзя
Самый частый виновник — модуль mod_rewrite. Представь, что это такой тайный ниндзя в сервере Apache, который превращает мудрёные адреса в человеческий вид. Без него ссылки в Sngine рассыпаются, как печеньки в руках у хомяка.
Что делать?
- Если ты на хостинге → беги в техподдержку с мольбой: «Включите мне mod_rewrite, я печенек пришлю».
-
Если VPS/домашний сервер → открой терминал (не бойся, это не больно) и выполни:
bash sudo a2enmod rewrite sudo systemctl restart apache2Готово! Твой ниндзя вышел из тени.
2. Тайный агент .htaccess: где он прячется?
Sngine дарит тебе файл .htaccess в подарок (лежит в папке с движком). Но беда в том, что на MacOS, Linux и даже в некоторых FTP-клиентах точка в начале имени делает его невидимым — как шпиона в сером костюме.
Как выманить шпиона?
-
FileZilla → ПКМ → «Показывать скрытые файлы» (или
Cmd + .на Mac) -
macOS Finder →
Cmd + Shift + .(магия, правда?) -
Терминал →
ls -laи ты увидишь его, гордого
Если файла нет вообще — создай сам (обычный блокнот, назови .htaccess, убедись, что нет расширения .txt). Скопируй туда стандартное содержимое из папки docs/ Sngine.
3. cPanel и скрытые файлы: «Галочка, спаси мою карму!»
Многие заливают Sngine через cPanel File Manager и свято верят, что загрузили всё. А .htaccess обиженно сидит в архиве и не показывается.
Инструкция для счастливчиков с cPanel:
- Заходишь в File Manager.
- Видишь кнопку «Настройки» (или Settings) — жми не глядя.
- Ставь галочку «Показывать скрытые файлы (dot files)».
-
Нажимаешь «Сохранить» и улыбаешься — твой
.htaccessнашёлся!
4. Особый случай: твой сервер — гордый Nginx
Ах, ты выбрал Nginx - быстрый, современный, без дурацких .htaccess. Но и проблемы здесь другие.
-
У Nginx нет
mod_rewriteи.htaccess. Вместо этого — конфигурация виртуального хоста. -
Нужно добавить правила для Sngine в секцию
server {}.
Примерный фрагмент конфига Nginx (адаптируй под свой путь):
nginx
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
После изменений не забудь: `sudo nginx -t` (проверка) и `sudo systemctl reload nginx`.
5. Что ещё могло пойти не так (и как это победить с улыбкой)
-
Права на файлы: папки должны быть
755, файлы644. Заодно проверь, не заснул лиphp-fpm. - Кэш браузера: Старая песня. Почисти кэш.
- Кривые руки при переносе: Если ты перетаскивал файлы по одному, не удивляйся, что что-то потерялось. Залей архивом через cPanel или SSH.
6. Финальный чек-лист счастья
-
Модуль
mod_rewrite(для Apache) включён -
Файл
.htaccessна месте и видимый - В cPanel отмечена галочка «Показывать скрытые файлы»
-
Для Nginx: правила
try_filesпрописаны в конфиге - Права на файлы 755/644
- Кэш всего мира (браузер, Cloudflare, плагины) сброшен
И помни: каждая ошибка 404 — это просто застенчивое приглашение разобраться в серверах чуть глубже. Ты справишься, и твоя соцсеть будет работать как швейцарские часы. Или как кофеварка в пятницу утром — быстро и с удовольствием.
P.S. Если ты читаешь это и всё ещё видишь 404 — выдохни, поставь чайник, открой лог ошибок сервера (обычно error.log), ищи там фразу rewrite или .htaccess. Или позови друга, который нюхал сервера вживую. Оно того стоит, честное слово! 😉