Перенаправить 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, и вы будете намного лучше!