Для того чтобы изменения файла htaccess вступили в силу необходимо: Нужно ли перезапускать apache, чтобы правила перезаписи в .htaccess вступили в силу?

Содержание

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



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

apache .htaccess mod-rewrite restart
Поделиться Источник Jesse Hattabaugh     27 сентября 2008 в 00:08

7 ответов




96

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

Убедитесь, что ваш .htaccess включает в себя заявление

RewriteEngine ВКЛ.

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

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

RewriteLog «logs/rewritelog»

RewriteLogLevel 7

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

Поделиться TomG     27 сентября 2008 в 02:25



52

Нет :

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

Поделиться Milen A. Radev     27 сентября 2008 в 00:12



18

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

Поделиться PiedPiper     27 сентября 2008 в 00:31


  • Нужно ли перезапускать apache каждый раз после изменения кода

    Я развертываю приложение Django на webfaction. Весь код загружен, но иногда мне все еще нужно внести некоторые изменения. Мой рабочий процесс-редактировать локальный файл в Pycharm и синхронизировать изменения с удаленным сервером (Apache). Так, например, нужно ли перезапускать apache каждый раз…

  • переопределение apache правил перезаписи с помощью htaccess

    работа на сервере с несколькими доменами. Где-то в конфигурации apache есть правило перезаписи, установленное для доменов ALL. Что происходит, если пользователь переходит на example.com/foo, он должен быть перенаправлен на example.com/foo_bar Однако в одном домене я хочу переопределить это…



3

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

Вам нужно только перезапустить Apache, если вы измените какие-либо файлы Apache «.conf».

Поделиться ethyreal     27 сентября 2008 в 00:28



2

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

Поделиться Dave Ip     01 июля 2011 в 17:54



2

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

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

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

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

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

Поделиться Abhishek Gurjar     29 апреля 2017 в 11:09



0

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

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

Поделиться ceejayoz     27 сентября 2008 в 00:27


Похожие вопросы:


как я должен использовать вывод преобразования правил перезаписи htaccess в правила перезаписи nginx

Я использую neginx, затем мне нужно преобразовать откройте файл. htaccess правила перезаписи, чтобы neginx правила перезаписи. Я использовал это для преобразования. Теперь я хочу знать, как я должен…


Правила перезаписи в Apache для другого порта

Мой сервер Apache(Tomcat)-Spring работает на порту 8080. Я хочу сделать вызов на порт localhost по умолчанию(80) и хочу, чтобы перенаправление произошло на порт 8080. Я включил mod-rewrite, и…


Может ли apache переписать правила в httpd.conf

Как создать простое правило перезаписи apache для перезаписи: http://domain.com/vanity — http://domain.com/foo / Также можно ли переписать правила в httpd.conf или они должны быть в файле .htaccess?…


Сколько времени требуется, чтобы изменения .htaccess вступили в силу?

Я добавил правила перезаписи url в свой файл .htaccess. Должен ли я сразу увидеть, как эти изменения работают?


Преобразование правил перезаписи apache (. htaccess) в nginx

Фон : Я хочу настроить Bugify на моем сервере Ubuntu под управлением nginx. Я последовал инструкциям, установил зависимости, и установка прошла успешно. Как только я ввожу свой лицензионный ключ и…


Нужно ли перезапускать apache каждый раз после изменения кода

Я развертываю приложение Django на webfaction. Весь код загружен, но иногда мне все еще нужно внести некоторые изменения. Мой рабочий процесс-редактировать локальный файл в Pycharm и…


переопределение apache правил перезаписи с помощью htaccess

работа на сервере с несколькими доменами. Где-то в конфигурации apache есть правило перезаписи, установленное для доменов ALL. Что происходит, если пользователь переходит на example.com/foo, он…


Необходимо перезапустить сервер laravel 4, чтобы изменения вступили в силу

Я работаю над css на сервере laravel и заметил, что мне приходится перезапускать MAMP (работая на компьютере Mavericks) каждый раз, когда я меняю даже самый маленький код, чтобы новый код вступил в…


. htaccess создан или изменен: нужно ли перезапускать Apache?

Я пытаюсь отладить некоторые проблемы .htaccess на Apache, но я новичок в mod_rewrite.c. Я хотел бы знать, нужно ли мне перезапускать Apache в XAMPP всякий раз, когда я делаю изменения в файлах./]+)/ /index.php?view=$1&layout=$2 [NC]…

Как привязать домен к сайту — VPS.ua Wiki

Если установлен Apache и нет хостинговой панели

Рассмотрим ситуацию, когда файлы сайта загружены в директорию /var/www/html/domain_com и по запросу домена domain.com должна выводиться index.php страница.

Для того, чтобы сайт, загруженный в указанную директорию, отображался по домену, необходимо соответствующим образом настроить веб-сервер, чтобы он «знал», откуда брать данные в случае получения запроса по домену domain.com. Настройка состоит из следующих шагов:

  • Подключаемся к VDS серверу по SSH с правами root.
  • Переходим в директорию, в которой расположен конфигурационный файл Apache:

Для CentOS, Fedora:

cd /etc/httpd/conf/

Для Debian, Ubuntu:

cd /etc/apache2/
  • Открываем конфигурационный файл текстовым редактором, например, vi:

Для CentOS, Fedora:

vi httpd.conf

Для Debian, Ubuntu:

vi apache2.conf
  • Опускаемся в конец файла и приступаем к вводу настроек. Для этого, в случае редактора vi, нажимаем клавишу “i”. Простой пример виртуалхоста представляем ниже:
<VirtualHost IP:80>                             # вместо IP указываем IP-адрес VPS
    ServerAdmin webmaster@domain.com            # почтовый адрес администратора
    DocumentRoot /var/www/html/domain_com       # путь расположения папки с файлами сайта
    ServerName domain.com                       # домен, по которому должен открываться сайт
    ErrorLog logs/domain.com-error_log          # путь и имя файла с журналом ошибок
    CustomLog logs/domain.com-access_log common # путь и имя файла с журналом запросов
</VirtualHost>
  • Также, рекомендуется указать имя индексного файла, который должен отображаться по запросу домена. Для этого под виртуалхостом добавляем следующую запись:
<Directory /var/www/html/domain_com >
    DirectoryIndex index.php
</Directory>
  • После того, как виртуалхост был скопирован в файл и заполнен правильными значениями, в случае с редактором vi необходимо выйти из режима ввода клавишей “ESC” и сохранить изменения командой:
:wq
  • Для того, чтобы изменения вступили в силу, необходимо перезагрузить веб-сервер. Но прежде чем это выполнить, настоятельно рекомендуется запустить отладчик конфигурации, который выполнит проверку синтаксиса в конфигурационном файле Apache на предмет ошибок. Запустить отладку можно командами:
httpd –S

или

apachectl –S
  • Если в результате выполнения было выведено сообщение «Syntax OK», значит, в конфигурационном файле нет ошибок и можно производить перезагрузку Apache.
  • Если же в файле были допущены ошибки, то программа выведет сообщение «Syntax error» и укажет номер строки и фрагмент текста, который является некорректным. В этом случае необходимо будет вновь открывать конфигурационный файл и исправлять ошибки.
  • Перезагрузка веб-сервера выполняется командой:

CentOS, Fedora:

service httpd restart

или

/etc/init.d/httpd restart

Debian, Ubuntu:

service apache2 restart

или

/etc/init.d/apache2 restart
  • После выполнения перезагрузки веб-сервера можно пробовать подключиться по домену в браузере.
  • На этом настройка веб-сервера завершена.

Если установлена панель управления хостингом

При наличии хостинговой панели (ISPconfig, ISPmanager, DirectAdmin, cPanel) указанный выше процесс происходит в автоматическом режиме в момент добавления домена в панель. Более подробная инструкция по привязке домена к сайту расположена в нашей статье Как и куда загрузить сайт.

Nginx htaccess не работает – Тарифы на сотовую связь