Перенаправление нескольких URL-адресов с одного виртуального хоста в Apache - PullRequest
0 голосов
/ 14 мая 2018

Я разместил 4 управляемых сервера с использованием weblogic в моей локальной системе, я хочу перенаправить веб-запросы на них с помощью apache, хотя я достиг этого, но в настоящее время я сделал это с помощью 4 виртуальных хостов, которые я не думаю, чтогораздо более эффективный способ.

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

Ниже приводится работа, которую я имеюсделано до сих пор:

<VirtualHost *:8080>
Redirect / http://samplehost:16200/cs
</VirtualHost>

<VirtualHost *:8081>
Redirect / http://samplehost:16250/ibr
</VirtualHost>

<VirtualHost *:8082>
Redirect / http://samplehost:16225/wcc
</VirtualHost>

<VirtualHost *:8083>
Redirect / http://samplehost:16400/cpt
</VirtualHost>

Есть ли способ, с помощью которого я могу объединить их в один виртуальный хост?может использовать имя сервера или псевдонимы, в зависимости от того, что может помочь.

Я пытался добиться этого с помощью RewriteRule, но это не сработало, следующий код:

 <VirtualHost *:84>

  RewriteEngine on

  /
  RewriteRule "^/$" "http://www.google.co.in" [R,L]
  RewriteRule "^/am/?$" "http://www.amazon.co.in" [R,L]
  RewriteRule "^/fk/.+" "http://www.flipkart.co.in" [R,L]

 </VirtualHost>

Заранее спасибо за помощьЯ до сих пор чищу свои концепции Apache, любая помощь будет здорово иметь !!!

1 Ответ

0 голосов
/ 14 мая 2018

Я нахожу выход, который работает как шарм, давайте посмотрим, как он выглядит:

<VirtualHost samplehost:80>
RewriteCond %{REQUEST_URI} ^/cs/ 
Redirect / http://samplehost:16200/

RewriteCond %{REQUEST_URI} ^/ibr/ 
Redirect / http://samplehost:16250/

RewriteCond %{REQUEST_URI} ^/wcc/ 
Redirect / http://samplehost:16225/

RewriteCond %{REQUEST_URI} ^/cpt/ 
Redirect / http://samplehost:16400/

</VirtualHost>

Из-за этого мне даже не нужно запоминать номера портов для разных виртуальных хостов.

При этом я даже нахожу другое решение, но оно выглядит так:

  <VirtualHost samplehost:80>


  RewriteEngine On

  RewriteRule "^/cs/?$" "http://samplehost:16200/cs" [R,L]
  RewriteRule "^/ibr/?$" "http://samplehost:16250/ibr" [R,L]
  RewriteRule "^/wcc/?$" "http://samplehost:16225/wcc" [R,L]
  RewriteRule "^/cpt/?$" "http://samplehost:16400/cpt" [R,L]

  </VirtualHost>

Оба решения исключительно хороши, благодаря @arkascha, который привлек мое внимание к RewriteCond.

Спасибо за помощь !!!

...