Вам нужно перезапустить apache, чтобы правила перезаписи в .htaccess вступили в силу?

Я подтолкнул свои файлы .htaccess к рабочим устройствам, но они не работают. Будет ли перезапуск быть следующим шагом или я должен проверить что-то еще.

Ответ 1

Для изменений в .htaccess требуется перезапуск не. Что-то еще не так.

Убедитесь, что ваш .htaccess содержит оператор

RewriteEngine on

который требуется, даже если он также присутствует в httpd.conf. Также проверьте, что .htaccess читается процессом httpd.
Проверьте error_log - он расскажет вам о любых ошибках в .htaccess, если он используется. Помещение преднамеренной синтаксической ошибки в .htaccess - хорошая проверка, чтобы убедиться, что файл используется - вы должны получить ошибку 500 на любой странице в том же каталоге.

Наконец, вы можете включить журнал перезаписи с помощью следующих команд в httpd.conf:

RewriteLog "logs/rewritelog"

RewriteLogLevel 7

Созданный таким образом файл журнала даст вам подробную информацию о том, какие правила переписываются и как они обрабатываются.

Ответ 2

Нет:

Apache позволяет осуществлять децентрализованное управление конфигурацией через специальные файлы, размещенные внутри веб-дерева. Специальные файлы обычно называются .htaccess, но любое имя может быть указано в директиве AccessFileName... Поскольку файлы .htaccess являются читать по каждому запросу, изменения, внесенные в эти файлы, немедленно вступают в силу...

Ответ 3

Из документации apache: Чаще всего проблема заключается в том, что AllowOverride не установлен таким образом, что ваши конфигурационные директивы соблюдаются. Убедитесь, что у вас нет разрешения AllowOverride None для рассматриваемой области файла. Хорошим тестом для этого является поместить мусор в ваш файл .htaccess и перезагрузить. Если ошибка сервера не сгенерирована, вы почти наверняка используете AllowOverride None.

Ответ 4

только если вы не добавили модуль перезаписи мод в apache.

вам нужно только перезапустить apache, если вы измените файлы apache ".conf"

Ответ 5

У меня такая же проблема, и кажется, что сообщение PiedPiper о AllowOverride было наиболее полезным. Проверьте свой файл httpd.conf для "AllowOverride" и убедитесь, что для него установлено значение "Все".

Ответ 6

В случае перезагрузки .htaccess не требуется, если он не работает с вероятными причинами.

  • AllowOverride Невозможно установить, какой пользователь может установить внутри httpd.conf или, возможно, придется свяжитесь с администратором сервера.

  • Проверьте имя файла .htaccess, он должен быть .htaccess, а не htaccess.txt, см. здесь для руководства по созданию один.

  • Попробуйте использовать Options -Indexes или deny all простую директиву, чтобы увидеть, работает ли она или нет.

  • очищать кеш браузера каждый раз, если у вас есть правило для перенаправления или аналогичного, если предыдущее перенаправление кэшировано, оно выглядит так, как будто все не работает.

Ответ 7

Что в вашем .htaccess? RewriteRules? Убедитесь, что mod_rewrite установлен и включен.

Другие вещи? Попробуйте установить AllowOverride в "all" в этом каталоге.