Возникли трудности с правилом перезаписи OHS для нескольких доменов

У меня возникают некоторые трудности с переписыванием Oracle HTTP Server для нескольких доменов, которые указывают на один и тот же IP-адрес и порт.

Следующее работает

  RewriteEngine On
  RewriteCond %{REQUEST_URI} ^/$
  RewriteRule ^(.*)$ https://sub-doamin-1/psp/UACMP/SELF_SERVICE/SA/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL [R,L]

Однако, когда я пробую https://sub-doamin-2/analytic, он перенаправляется на https://sub-doamin-1/psp/UACMP/SELF_SERVICE/SA/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL

Пробовал метод RewriteCond ${HTTP_HOST}, но безуспешно. Он просто перенаправляет на / (корень)

RewriteEngine On
RewriteCond ${HTTP_HOST} sub-doamin-1$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ https://sub-doamin-1/psp/UACMP/SELF_SERVICE/SA/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL [R,L]

RewriteCond ${HTTP_HOST} sub-doamin-2$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ https://sub-doamin-2/analytics

Не могли бы вы помочь решить эту проблему?

1 ответ

Решение

Так должно быть %{HTTP_HOST} вместо того ${HTTP_HOST}

Итак, правила должны быть такими:

RewriteCond %{HTTP_HOST} sub1.test.com$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ https://sub1.test.com/psp/UACMP/SELF_SERVICE/SA/c/NUI_FRAMEWORK.PT_LANDINGPAGE.GBL [R,L]

RewriteCond %{HTTP_HOST} sub2.test.com$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ https://sub2.test.com/analytics [L]

Вы можете проверить правила здесь: https://htaccess.madewithlove.be/?share=6632e45c-a7bb-5099-ab0b-468ba1066277

для URL-адресов https://sub1.test.com/ и https://sub2.test.com/

Если вы напишете свои оригинальные правила на этом веб-сайте, вы получите This test string is not supported: ${HTTP_HOST} так что это также может помочь вам в следующий раз.

Другие вопросы по тегам