Конечный пользователь установил запись CNAME
с player.domain-client.com.
до app.domainA.com
Предположительно, "платформа проекта" также настроена на прием запросов на player.domain-client.com
?
В таком случае, это должно быть просто вопросом внутренней перезаписи (на том же хосте). Хотя, если вы обычно запрашиваете тот же URL-путь в app.domainA.com
, ie. app.domainA.com/5432
, тогда вам ничего не нужно делать, поскольку перезапись уже на месте? В противном случае попробуйте следующее:
RewriteEngine On
# Rewrite any request for /<number> to player/?=<number>
RewriteCond %{HTTP_HOST} ^player\. [NC]
RewriteRule ^(\d+)$ player/?=$1 [L]
Однако /player/?=5432
не является фактической конечной точкой, поскольку это требует дальнейшей перезаписи системой для ее работы. Возможно, вы имеете в виду что-то вроде /player/index.php?=5432
? (Строка запроса также немного странная, так как вам не хватает параметра name ? Как написано, это может потребовать ручного анализа строки запроса для извлечения значения?)
ОБНОВЛЕНИЕ # 1: Условие (директива RewriteCond
) гарантирует, что только запросы к поддомену player
будут перезаписаны.
ОБНОВЛЕНИЕ № 2: В WordPress необходимо убедиться, что эти директивы go перед фронт-контроллером WP. ie. До раздела # BEGIN WordPress
. Порядок директив в .htaccess
важен.
Однако, если все это управляется WordPress, вы не можете просто создать перезапись в .htaccess
, так как WordPress по-прежнему видит исходный URL, который был запрошен , а не переписанный URL. Таким образом, если запрошенный URL-адрес не существует в качестве действительного маршрута в самом WordPress, вы, вероятно, получите 404. Этот вид перезаписи должен управляться внутри самого WordPress.
ОБНОВЛЕНИЕ № 3: Альтернативой является настройка вашего сервера в качестве обратного прокси и прокси запроса от https://player.domain-client.com/1234
до https://app.domainA.com/player/?vid=1234
(упоминается в комментариях). В идеале для этого требуется доступ к конфигурации главного сервера для правильной настройки (требуются директивы mod_proxy и ProxyPass
, ProxyPassReverse
, установленные на виртуальном хосте).
Затем в .htaccess
вы будете делать что-то вроде вместо этого, используя флаг P
на RewriteRule
:
# Proxy any request for /<number> to player/?=<number>
# for the "player" subdomain only.
RewriteCond %{HTTP_HOST} ^player\. [NC]
RewriteRule ^(\d+)$ https://app.domainA.com/player/?vid=$1 [P]