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

Запись DNS с подстановочными знаками для соответствия поддомену lang

У нас есть веб-сайт www.example.com, указывающий на x.x.x.1, и система с несколькими мини-сайтами, каждый из которых имеет subdomains.examples.com, указывающий на x.x.x.2.

В основном то, что у нас есть, - это запись DNS с подстановочными знаками, которая может соответствовать любому возможному поддомену, после достижения x.x.x.2 vhost apache перехватит и перенаправит его на php-скрипт, который, в свою очередь, будет знать, какие мини-сайты обслуживать.

Однако на сайте www.example.com мы размещаем содержимое, переведенное на несколько языков, до тех пор, пока несколько недель назад вы не могли переключить язык, щелкнув флажок, и вам будет предоставлен переведенный контент. Единственная проблема заключается в том, что URL-адрес не изменится, и с точки зрения SEO это не лучшее решение.

Теперь я не могу изменить способ обработки субдомена (перенаправления на x.x.x.2), поскольку у нас есть сотни, если не тысячи мини-сайтов.

Мне нужно найти решение, чтобы language.example.com перенаправлялся на x.x.x.1, а затем правило перезаписи, которое в основном переписывало бы поддельный поддомен в URL-адрес, чтобы передать параметр языка на example.com.

Решением является перечисление всех возможных языков в записях DNS прямо перед записью DNS с подстановочными знаками. Другое решение, которое, как я почти уверен, невозможно, - это иметь какое-то регулярное выражение в записи DNS, соответствующей всем поддоменам с двумя буквами (en | es | fr | cn | cl и т. Д.)

Любые идеи?

Вы не можете выполнить двухбуквенное соответствие в DNS, подстановочный знак конкретно соответствует одной или нескольким меткам, и это полная степень сопоставления с образцом в DNS.

Вы рассматривали возможность использования www.example.com/language/ вместо?

Затем в ваших правилах перезаписи вы можете (например) en.example.com перенаправление на www.example.com/en/, и это можно сделать на основе условных тестов, которые проверяют, существует ли подкаталог этого конкретного языка.

Если для этого подкаталога нет соответствия, когда он будет представлять один из ваших мини-сайтов.