Переписывание Apache Tomcat

Переписывание Apache Tomcat

Я пытаюсь настроить правило перезаписи, чтобы при вводе URL-адреса он отображался как example.com/test.

Например, я пытаюсь сделать это, если это вообще возможно.

Я установил CNAME так, site.example.comчтобы он указывал на site.devexample.com(dev Remote Environment на стороне поставщика)

Если пользователь зайдет на страницу, site.example.comURL-адрес будет переписан примерно так example.com/test.

То, что у меня есть до сих пор, но, похоже, не работает, когда я прихожу, site.example.comостается таким, как есть.

# rewrite rules for site.example.com
RewriteCond %{http_host} ^site\.example\.com [NC,OR]
RewriteCond %{http_host} ^www\.site\.example\.com [NC]
RewriteRule $ http://example.com/test/ [R,L]

Нужно ли мне будет сделать обратный прокси-сервер и затем перезаписывать оттуда?

EDIT: Прошу прощения, мне следовало объяснить немного лучше. site.example.com принадлежит test.com (компании A). Поэтому мы изменили CNAME, чтобы он указывал на site.devEnvironment.com ( companyB.com )

и test.com/test — это наш сервер и каталог, пытаемся переписать URL на test.com/test вместо site.example.com

Наши перенаправления настроены в файле httpd.conf, не уверен, поможет ли это.

решение1

Я предполагаю, что rewritecond или rewritemap regex не совпадают. Я обнаружил, что они скользкие.

Убедитесь, что у вас очень подробное ведение журнала mod_rewrite (набор Apache 2.4)LogLevel, Apache 2.2 установленПереписатьЖурнал) Если вы не являетесь администратором веб-сервера, это вам, скорее всего, не поможет.

Попробуйте переписать правило следующим образом:

RewriteRule ^foobar /clams/%{HTTP_HOST}/fish [R,L]

Поскольку foobarэто бессмысленное местоположение, оно не будет мешать реальному трафику. Укажите в своем браузере, foobarи он перенаправит вас на другое бессмысленное местоположение и выдаст ошибку, но в строке URL также будет указано, что именно %{HTTP_HOST}содержит var. (Моллюски и рыбы должны выступать в качестве кавычек, поэтому если %{HTTP_HOST}содержит косую черту или пробел или другой сложный символ, вы это увидите.)

(удалено из foobar для совместимости с .htaccess, спасибо @w3dk)

решение2

В итоге я настроил proxypass /test site.example.com

Таким образом, когда сервер увидит /test, он загрузит контент с site.example.com

Связанный контент