У меня есть две копии папки в разных местах. Они содержат точно такой же файл .htaccess. Оба файла .htaccess имеют одинаковые права и владельцев.
/home/sites/site/public_html/
/var/www/html/site/
У меня был VirtualHost, DocumentRoot которого указывал на /home/sites
но я изменил это на /var/www
и перезапустил Apache.
Теперь мои правила htaccess больше не работают. Например, /story/id
следует переписать на /index.php?id=$id
. Если я пойду в /index.php?id=$id
в моем браузере страница загружается как надо, но если я перейду на /story/id
Я получаю ошибку 404.
Если я изменю DocumentRoot обратно на старый корень, ссылки снова начнут работать.
Есть идеи о том, что может быть причиной этого?
Решение было в основном файле httpd.conf. Для AllowOverride задано значение "нет" для /var/www/html
, что раньше не имело значения, потому что веб-папка находилась в /home/
. Как только мы установим это на All
, правила перезаписи снова заработали.