Вам нужно перезапустить apache, чтобы переписать правила в.htaccess вступит в силу?
я толкнул моего .файлы htaccess для производственных серверов, но они не работают. Будет ли перезапуск следующим шагом, или я должен проверить что-то еще.
7 ответов
перезагрузка не необходима для изменения .реврайт. Что-то не так.
убедитесь, что ваш .htaccess включает в себя оператор
RewriteEngine на
который требуется, даже если он также присутствует в httpd.conf. Также проверьте это .htaccess читается процессом httpd.
Проверьте error_log - он сообщит вам о любых ошибках .реврайт если он используется.
Положить умышленное синтаксическая ошибка .htaccess-хорошая проверка, чтобы убедиться, что файл используется-вы должны получить ошибку 500 на любой странице в том же каталоге.
наконец, вы можете включить журнал перезаписи, используя следующие команды в вашем httpd.conf:
RewriteLog "журналы/rewritelog"
RewriteLogLevel 7
созданный таким образом файл журнала даст вам кровавую деталь, какие правила перезаписи совпадают и как они были обработаны.
нет:
Apache позволяет децентрализованное управление конфигурацией с помощью специальных файлов, размещенных внутри веб-дерева. Специальные файлы обычно называются
.htaccess
, но и любое имя может быть указано в AccessFileName
из документации apache: Чаще всего проблема заключается в том, что AllowOverride не установлен таким образом, чтобы ваши директивы конфигурации соблюдались. Убедитесь, что у вас нет AllowOverride None в силе для рассматриваемой области файла. Хорошим тестом для этого является внесение мусора в ваш .htaccess файл и перезагрузить. Если ошибка сервера не генерируется, то у вас почти наверняка есть AllowOverride None в действительности.
только если у вас есть не добавлен модуль mod_rewrite в Apache.
вам нужно только перезапустить Apache, если вы измените любой Апач ".conf " files.
У меня такая же проблема, и кажется, что сообщение PiedPiper о AllowOverride было самым полезным. Проверьте свой файл httpd.conf файл для "AllowOverride" и убедитесь, что он установлен на все.
в случае .перезапуск htaccess не требуется, если он не работает вероятные причины включают.
AllowOverride не может быть установлено, какой пользователь может установить внутри httpd.conf или, возможно, придется связаться с администратором сервера.
Проверьте имя файла .htaccess это должно быть .htaccess не htaccess.txt see здесь для руководства, как создать один.
попробуйте использовать
Options -Indexes
илиdeny all
вид простой директивы, чтобы увидеть, работает ли она или нет.очистить кэш браузера каждый раз, если есть правило для перенаправления или подобное, если предыдущее перенаправление кэшируется, кажется, что вещи не работают.
что в вашем .реврайт? RewriteRules? Проверьте, что mod_rewrite установлен и включен.
другие вещи? Попробуйте установить AllowOverride в " все " в этом каталоге.