Невероятно, но нет хорошего учебника или простого справочного руководства по использованию голых доменов (без поддоменов) в качестве основного URI в Интернете, которые я мог бы найти.
Я пытаюсь настроить это в моем httpd.conf в apache. Поскольку я все еще относительно новичок в этом серверном материале, я пытался понять это сам, все, что я мог сделать, это настроить несколько неприятных циклов перенаправления и ошибки 400.
Есть много примечаний для наиболее распространенных:
http: // -> https: //
и
голый -> www.
и тонна материала .htaccess (не интересно)
Я хочу http://www.domain.com -> http://domain.com
Самое полезное, что я нашел, было следующее: Несколько доменов (включая www- "поддомен") на apache?
Я закончил использовать решение, упомянутое ceejayoz в этом посте, которое, как отметили некоторые люди, было беспорядочным и сложным, потому что оно дало желаемый результат, но я хотел бы знать лучшие практики для этого в будущем.
Буду признателен за толчок в правильном направлении.
Заранее спасибо.
Есть много веских причин для использования www.example.com
скорее, чем example.com
. Однако оба варианта являются жизнеспособными. Чтобы сделать то, что вы хотите, просто переключите домены в стандартном документе для использования www.
домены.
Мой подход - использовать один виртуальный хост для обоих. Определите виртуальный хост для желаемого домена, затем добавьте другие домены в качестве псевдонимов.
Следующие ниже спецификации должны указывать канонические имена для голого домена. (Правила условия перезаписи изменены из документации по перезаписи apache, чтобы удалить www.
от имени.)
ServerName example.com
ServerAlias www.example.com
UseCanonicalName On
RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://example.com/$1 [L,R]
Если вы включили mod_rewrite
, вы можете сделать это так:
RewriteCond %{HTTP_HOST} ^www\.domain\.tld$
RewriteRule ^(.*)$ http://domain.tld/$1 [R=301,L]
В качестве альтернативы можно определить дополнительный виртуальный хост с помощью ServerName www.domain.tld
и всегда перенаправлять на domain.tld
либо с помощью HTML, например:
<meta http-equiv="refresh" content="0;URL='http://domain.tld/'" />
Или внутри конфигурации apache vhost с
Redirect permanent / http://domain.tld