- Apache не читает .htaccess
- .htaccess не работает apache
- Не работают изменения в файле htaccess
- Рекомендуемые сообщения
- Для публикации сообщений создайте учётную запись или авторизуйтесь
- Создать учетную запись
- Войти
- Похожий контент
- Последние посетители 0 пользователей онлайн
- Не работает .htaccess
- 4 ответа 4
- Всё ещё ищете ответ? Посмотрите другие вопросы с метками .htaccess apache или задайте свой вопрос.
- Похожие
- Подписаться на ленту
- Apache — не обрабатывается файл .htaccess
Apache не читает .htaccess
Столкнулся с тем, что Apache читает файл .htaccess , который я создал для своего сайта, но совершенно его не воспринимает. Длительное чтение статей выявило, что недостаточно полно был настроен файл конфигурации Apache httpd.conf . В этой статье я расскажу, что было сделано не так, и что нужно сделать. Все операции требуют привилегий root.
Содержимое файла .htaccess :
Эти директивы должны были бы перенаправлять все запросы к сайту с любой страницы на index.php , однако на самом деле этого не происходило и я получал сообщение Error 404: Page not found . Отходить от шаблона проектирования Front Controller я не собирался, поэтому начал читать.
В большинстве статей написано, что нужно раскомментировать следующие строки в httpd.conf :
В CentOS 6 эта строка раскомментирована по умолчанию, и нужная библиотека также присутствует в каталоге файлов Apache. В Deb-дистрибутивах этот мод по умолчанию выключен, включается командой:
Дальше нужно проверить, что в httpd.conf раскомментированы следующие строки:
Однако и этого недостаточно. По-умолчанию в качестве DocumentRoot для Apache указана папка /var/www/html . Соответствующие правила ее обработки описаны в httpd.conf следующими строками (комментарии удалены):
Я выкладываю сайты на свой сервер в папку /var/www , т. е. по факту у меня DocumentRoot’ом будет выступать именно она, а не /var/www/html . Это дело привычки, просто потом при заполнении файлов конфигурации виртуальных хостов писать текста немного меньше.
Источник
.htaccess не работает apache
У меня есть сервер из сервиса AWS EC2, работающий в Linux Ubuntu, и я установил apache, php и mysql.
Я добавил .htaccess файл в корень моего документа /var/www/html .
Я ввел этот код в нем: ErrorDocument 404 /var/www/html/404.php и он до сих пор не появляется.
Я продолжал вводить эту команду несколько раз: sudo service httpd restart перезагрузить сервер, но без изменений .
Как я могу это исправить . Я сделал что-то не так?
Во-первых, обратите внимание, что перезапуск httpd не требуется для файлов .htaccess. Файлы .htaccess специально предназначены для людей, у которых нет root — то есть они не имеют доступа к файлу конфигурации сервера httpd и не могут перезапустить сервер. Поскольку вы можете перезапустить сервер, вам не нужны файлы .htaccess, и вы можете напрямую использовать конфигурацию основного сервера.
Во-вторых, если файлы .htaccess игнорируются, вам необходимо проверить, правильно ли установлен AllowOverride. См. Http://httpd.apache.org/docs/2.4/mod/core.html#allowoverride для получения подробной информации. Вы также должны убедиться, что он установлен в правильной области — то есть в правильном блоке в вашей конфигурации. Убедитесь, что вы НЕ редактируете, например, блок.
В-третьих, если вы хотите убедиться, что файл .htaccess действительно читается, поместите в него мусор. Недопустимая строка, такая как «INVALID LINE HERE», в вашем файле .htaccess приведет к ошибке 500 Server, когда вы укажете браузеру на каталог, содержащий этот файл. Если это не так, то у вас не настроен AllowOverride правильно.
Источник
Не работают изменения в файле htaccess
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Войти
Уже есть аккаунт? Войти в систему.
Похожий контент
Исходные данные:
Чистая новая установка ocStore 3.0.2.0 на вирт. сервер xampp в локальную папку /shop3/. Включены ЧПУ во вкладке Сервер, во вкладке SeoPro включено «Включить SeoPro» и «ЧПУ товаров с категориями». Все остальные настройки — по-умолчанию. .htaccess активирован, базовый Rewrite — /shop3/ — прописан. Больше ничего не менялось.
Суть проблемы:
ЧПУ работают, категории и товары открываются нормально. Только главная страница выдаёт бесконечный редирект (не открывается). Админка работает без проблем. Если в настройках вкладки SeoPro ещё включить «Добавить слэш в конец ссылки», то всё открывается нормально, включая главную. Но везде в конце URL добавляется слэш. Нужно чтобы работало без этого слэша.
Вопрос:
Как избавиться от бесконечного редиректа главной, не включая конечный слэш? На этом же xampp’е запускается ещё пару магазинов на ocStore 2.x.x.x и блог на WordPress (в своих подпапках) — там таких проблем нет: можно включать конечный слэш или отключать, всё работает без проблем.
Здравствуйте.
Вот, что у меня в htaccess:
RewriteEngine On RewriteBase / #Редирект с www to non-www(https) RewriteCond %
Я, в принципе, не уверен, что он правильный (может кто подправит).
проверял здесь http://www.prcy-info.ru/index.php/redirect-checker
1)
Ссылка: https://мойсайт.ком/каталог
Обнаружен 301 редирект на URL: https://мойсайт.ком/каталог
Это ТАК должно работать?
2)
Ссылка: https://www.мойсайт.ком/каталог/
Обнаружен 301 редирект на URL: https://мойсайт.ком/каталог/
В других случаях слеш убирается, почему не убирается тут?
Последние посетители 0 пользователей онлайн
Ни одного зарегистрированного пользователя не просматривает данную страницу
Источник
Не работает .htaccess
Не работает переадресация всех запросов на index.php и выдает ошибку, как я понял, то проблема в том, что апач не учитывает настройки моего файла .htaccess.
Вот настройки апача из файла настройек httpd.conf
Вот содержимое htaccess
Подскажите, в чем проблема?
4 ответа 4
Первым делом нужно проверить обрабатывается ли htaccess. Для этого нужно сохранить его с любым текстом не имеющим смысла. Если получите 500-ю ошибку, то файл обрабатывается.
Далее нужно проверить заголовки сервера, например с помощью https://bertal.ru/ или инструментов разработчика Google Chrome — вкладка Network. Вполне возможно (на хостингах), что в заголовках ответа в качестве сервера вы увидите не Apache, а nginx. Тогда нужно смотреть как настроен nginx. Как правило он может искать запрашиваемые ссылки физически в файловой системе.
В вашей настройке не указано как будет называться AccessFile, нужно добавить «AccessFileName .htaccess» в конфиге apache.
У меня тоже была такая проблема. Но я решил. Нашёл два способа:
- Это решается со стороны хоcтинга. Если они не хотят или не могут, то нужно менять хостинг.
Перед названием контроллера добавить index.php . Например:
Ещё, на всякий случай вот тут содержимое моего файла .htaccess:
Всё ещё ищете ответ? Посмотрите другие вопросы с метками .htaccess apache или задайте свой вопрос.
Похожие
Подписаться на ленту
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2021 Stack Exchange Inc; материалы пользователей предоставляются на условиях лицензии cc by-sa. rev 2021.10.15.40479
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник
Apache — не обрабатывается файл .htaccess
Проблема заключается в следующем: при настройке нового виртуалхоста — сервер Apache не обрабатывает файл .htaccess .
Хотя в файле указана директива:
сервер все-равно отображает содержимое каталога виртуалхоста.
О создании и настройке виртуалхостов можно почитать тут>>>.
Решение заключается в переопределении параметра:
AllowOverride None
Order deny,allow
Deny from all
В файле конфигурации Apache — /usr/local/etc/apache22/httpd.conf установлено глобальное значение директивы — запретить в корневом каталоге сервера. Сама директива AllowOverride определяет директивы, разрешенные для использования в файле .htaccess .
Что бы не менять значение для всего каталога веб-сервера и его подкаталогов, переопределим значение для отдельного виртуалхоста.
В файл конфигурации /usr/local/etc/apache22/extra/httpd-vhosts.conf , где описан настраиваемый виртуалхост, в блок можно добавить значение локальных директив для каталога.
К примеру, описание виртуалхоста:
ServerAdmin root@setevoy.org.ua
DocumentRoot /usr/local/www/users/setevoy/setevoy.org.ua
ServerName setevoy.org.ua
ServerAlias setevoy.kiev.ua
ErrorLog /var/log/apachelog/setevoy.org.ua-error.log
CustomLog /var/log/apachelog/setevoy.org.ua-error.log common
Теперь, разрешим в нем использование любых параметров через .htaccess , для этого изменим описание, добавив блок , в котором будет описано поведение сервера при чтении из указанного каталога:
Источник