Предисловие
Был у меня хостинг в французской компании ovh.com и как-то не заплатил я вовремя за vps и буквально за несколько дней, без предупреждения, они все под чистую удалили без возможности восстановления.
Я написал в саппорт с закономерным вопросом "чоза?!" На что, через 4 дня (невиданно высокая скорость ответа для этих лягушатников) получил примерно следующее: "Вы ля, не платить ля, и мы удалять ля. Теперь вы должны ля, снова через личный ля кабинет, добавлять новый vps ля!"
Разумеется первым делом я решил именно так и поступить! Но вдруг червячок сомнения начал покусывать: а нужен ли мне такой хостер? И козырнув в монитор, сказав "au revoir ля" я начал поиски другого хостера. Нашел дешевле и производительней.
Благо резервные копии сайтов у меня сливаются в облако и с этим проблем не было. Но вот после развертывания всего, один из сайтов, построенных на drupal 7, вел себя странно: Главную страницу он загружал нормально, а вот при переходе по любой ссылке apache плевал 404 page not found
Как-то раз я уже сталкивался с этой проблемой, но уже не помнил как решал, а так как я был слишком гордый, чтобы сразу написать подобный пост, пришлось вспоминать все что забыл. А дело-то плевое:
Такое поведение сайта происходит из-за отключенного модуля rewrite
Чтобы включить его нужно набрать в консоли:
sudo a2enmod rewrite
А если на веб-сервере присутствуют виртуальные хосты, то в конфигурационном файле
/etc/apache2/apache2.conf
Нужно поправить запись c AllowOverride none на AllowOverride ALL
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
После чего, перезапускаем веб-сервер:
sudo systemctl restart apache2
И наслаждаемся.
Вам ведь не нужно напоминать, что вы все делаете на свой страх и риск, и автор статьи не несет ответственности за возможный причиненный ущерб? ;-) Экспериментируйте, ведь дорогу осилит идущий.