Назад | Перейти на главную страницу

Правило чероки для 301 редиректа

Я перехожу с Apache на Cherokee для некоторых проб

Я хочу сделать перенаправление в чероки, которое я делаю для Apache:

# Перенаправить на каноническое имя WWW RewriteEngine On RewriteCond% {HTTP_HOST}! = Www.domain.com RewriteRule ^ http: //www.domain.com%{REQUEST_URI} [R = 301, L]

Но не могу найти объяснения, как это делается

любая помощь приветствуется

Если вы хотите перенаправить только один конкретный домен / поддомен (или достаточно небольшое количество доменов), вам не нужен отдельный виртуальный хост (хотя вы можете пойти по этому маршруту, если хотите). Вот шаги, чтобы перенаправить голый домен, например domain.com к его www поддомен (www.domain.com) для cherokee v0.99.39:

  1. На странице админки cherokee (http://127.0.0.1:9090/) щелкните Virtual Servers ссылку в левой части навигации, а затем щелкните Nickname виртуального сервера, с которого вы хотите выполнить перенаправление. Вы, наверное, назвали этот виртуальный сервер domain.com (или в его Host Match раздел, в нем есть запись для *domain.com); или это может быть просто default виртуальный сервер.
  2. Щелкните значок Behavior таб.
  3. Щелкните значок Add new rule кнопка.
  4. Выбрать Header для Rule Type.
  5. Выбрать Host для Header.
  6. Войти ^domain.com для Regular Expression (и нажмите вкладку, чтобы перейти к следующему экрану). В этом сценарии мы добавляем ^ в начало домена, из которого мы хотим перенаправить, поэтому мы просто сопоставляем голый домен, а не какие-либо поддомены.
  7. Щелкните значок Handler таб.
  8. Выбрать Redirection для Handler.
  9. Войти /(.*) для Regular Expression.
  10. Войти http://www.domain.com/$1 (снова нажмите вкладку, чтобы пользовательский интерфейс обработал ваши изменения). В $1 указывает, куда поместить содержимое первой группы захвата из регулярного выражения шага 9.
  11. Щелкните значок Save кнопка левой навигатора.
  12. Попробуйте! (Перейдите к http://domain.com/ и убедитесь, что вы перенаправлены на http://www.domain.com/ с 301.)

В веб-интерфейсе Cherokee теперь есть шаблон для этого (по крайней мере, в 1.0.8):

  1. Нажмите vServers на верхней панели навигации
  2. нажмите New кнопка
  3. выберите Virtual Server Redirection под Tasks
  4. Запустить мастер
  5. Войти example.com для Origin Domain
  6. Войти www.example.com для Target Domain
  7. Ударь Create кнопка

Вы можете перенаправить несколько доменов на Target Domain также:

  1. Отредактируйте виртуальный сервер перенаправления (это должен быть тот, у которого корень документа /dev/null)
  2. Перейти к Host Match вкладка
  3. В Method должен быть установлен на Wildcards (вы можете выбрать Regular Expressions вместо)
  4. нажмите Add New кнопка для добавления дополнительных доменных имен

Исправление, скорее всего, скоро будет выпущено: http://bugs.cherokee-project.com/722

Нашел ответ

В основном необходимо создать еще один виртуальный хост и настроить обработчик по умолчанию в качестве перенаправления на исходный хост.

Вся информация здесь http://www.cherokee-project.com/doc/modules_handlers_redir.html

Однако я хотел иметь возможность настраивать перенаправления без необходимости воссоздавать больше виртуальных хостов, то есть способ, которым Apache позволяет мне с помощью встроенного Mod Rewrite.

Надеюсь, они скоро для этого создадут обработчик:

т.е. обработчик, который позволяет вам выбрать, чтобы www.domain.com и domain.com переходили к одному и тому же корню и выбирали между www.domain.com или .domain.com в качестве основного, перенаправляя другой :) Надеюсь, что это имеет смысл.