Я сослался этот вопрос но я не уверен, понимаю ли я, как это работает в этой ситуации:
У меня есть клиент с двумя брендами, которые сейчас в сети вот так:
Brand A (site 1) Brand B (site 2)
--- ---
site 1 pages site 2 pages
Теперь у них есть новый сайт, который объединяет контент с обоих сайтов и объединяет их два бренда в один:
Brand Unified (site 3)
---
site 3 pages
Ясно, что есть 301 редирект, который я хочу установить для каждого исходного сайта после обновления записей A для каждого домена. Однако новый сайт является настраиваемой темой WordPress, и WP допускает только один домен для каждой установки. Это оставляет меня в ситуации, когда я могу назначить исходный TLD, скажем, бренда A в качестве URL-адреса сайта в WordPress, а затем перенаправить домен бренда B на A.
Я подумал, что буду использовать такой серверный блок в conf сайта Apache:
<VirtualHost *:80>
ServerName site1.com #site1.com now points directly here
ServerAlias site2.com #site2.com points directly but redirects
ServerAdmin admin@brandAsite.com
DocumentRoot /var/www/newsite
Итак, если в этой конфигурации нет ничего плохого, что произойдет, если я попытаюсь реализовать 301 редирект для ссылок site1 и site2? В частности, поскольку site2.com теперь указан как псевдоним site1.com, могу ли я эффективно иметь 301 редирект в .htaccess
файл в /var/www/newsite/
каталог или ServerAlias этому мешает? Мне интересно, будет ли он привязан к site1.com, и поэтому правила 301 не сработают?
Если вы можете настроить Apache conf, зачем усложнять ситуацию и помещать перенаправления (или что-то еще) в .htaccess
файлы? Кажется, вы назначаете site2.com / var / www / newsite только с целью использования .htaccess
и ничего больше. Я бы сказал, что все в одном месте:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName site1.com
DocumentRoot /var/www/newsite
</VirtualHost>
<VirtualHost *:80>
ServerName site2.com
# Specifically mapped redirects
Redirect permanent /foo/ http://site1.com/new-foo/
# Root redirect (if no other cases above match)
Redirect permanent / http://site1.com/
</VirtualHost>