Возникли трудности с правилом перезаписи 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}
так что это также может помочь вам в следующий раз.