Перенаправить WWW на не WWW без использования отдельного виртуального сервера в Cherokee

Я использую веб-сервер Cherokee и хочу перенаправить все запросы на www.domain.com на domain.com без создания отдельного виртуального сервера для перенаправления запросов.

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

Type: External
Regular Expression: ^/(.*)$
Substitution: http://domain.com/$1

Вопрос в том, какой тип правил выбрать? Я пробовал правило перенаправления с этим параметром: ^www.domain.com/(.*)$

РЕДАКТИРОВАТЬ: ОТВЕТИТЬ

(Поскольку ServerFault еще не позволяет мне ответить на вопрос)

Наконец-то разобрался. Создать правило Header введите и выберите Host заголовок. Затем сопоставьте это регулярное выражение: ^www.domain.com$, Установите обработчик для внешнего перенаправления с помощью регулярного выражения: ^/(.*)$ и замена: http://domain.com/$1,

Сделайте изящный перезапуск, и у вас все будет готово!

2 ответа

Решение

Наконец-то разобрался. Создать правило Header введите и выберите Host заголовок. Затем сопоставьте это регулярное выражение: ^www.domain.com$, Установите обработчик для внешнего перенаправления с помощью регулярного выражения: ^/(.*)$ и замена: http://domain.com/$1,

Сделайте изящный перезапуск, и у вас все будет готово!

Я искал что-то еще, но заметил, что другие искатели могли использовать некоторые советы.

Если вы действительно не хотите изменить адресную строку в браузере (то есть с "www.domain.tld" на "domain.tld") И тратить пропускную способность и занять больше времени для загрузки, просто дайте чероки продолжить работу в соответствии с Настройка 'match', которую вы можете настроить для любых хостов - например, 'www' - которые вы не настроили в службе доменных имен (DNS) как запись ресурса CNAME (RR) для вашего голого домена (domain.tld),

очевидно, гораздо дешевле использовать DNS для перенаправления любых хостов в пустой домен [т.е. сделать DNS RR: 'host-name IN CNAME domain.tld.' Обратите внимание "." (точка) после '.tld']. даже если вы находитесь в ограниченной среде общего хостинга, использующей чужие серверы имен, они всегда предоставляют возможность настраивать RR 'CNAME' для вашего DNS.

Итак, это приводит нас к вопросу о том, почему кто-то вообще использует какие-либо хосты. Вы можете устранить неоднозначность, просто отправив все свои ссылки на domain.tld, а не host-name.domain.tld.

если вы обеспокоены поисковой оптимизацией (SEO): не будьте. поисковая система "боты" запускается из "domain.tld" и DNS. Кроме того, они не считают это "хорошей" вещью, когда сервер предлагает перенаправление. таким образом, сокращайте свои ссылки и делайте правильные вещи в DNS, и вы будете намного лучше!

Другие вопросы по тегам