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


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

7 89

7 ответов:

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

убедитесь, что ваш .htaccess включает в себя оператор

RewriteEngine on

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

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

RewriteLog "logs/rewritelog"

RewriteLogLevel 7

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

нет:

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

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

только если у вас есть не добавлен модуль mod_rewrite в Apache.

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

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

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

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

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

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

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

что в вашем .htaccess? RewriteRules? Проверьте, что mod_rewrite установлен и включен.

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