Я подтолкнул свои файлы .htaccess к рабочим устройствам, но они не работают. Будет ли перезапуск быть следующим шагом или я должен проверить что-то еще.
Вам нужно перезапустить apache, чтобы правила перезаписи в .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" в этом каталоге.