У нас есть веб-сайт 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/
, и это можно сделать на основе условных тестов, которые проверяют, существует ли подкаталог этого конкретного языка.
Если для этого подкаталога нет соответствия, когда он будет представлять один из ваших мини-сайтов.
Вы учли:
http://mysql-bind.sourceforge.net/