Я использую Tomcat Rewrite Valve API , чтобы я мог опубликовать sh URL-адреса моего веб-приложения в виде pretty URL . Моя проблема заключается в том, что после успешной перезаписи URL-адреса в URL-адресе браузера не сохранялся красивый URL-адрес, а отображался окончательный уродливый URL-адрес, который я пытался спрятать, поэтому я не смог использовать этот красивый API-интерфейс. Я понимаю, что с Apache mod_rewrite module браузер будет сохранять красивый URL, который вводит пользователь после успешной перезаписи; отсюда прячутся мельчайшие URI и параметры от невооруженных глаз. Возможно ли достичь этого с помощью Rewrite Valve API? Как?
Конфиги
Сервер = Tomcat Apache 9.0.30
[webapp] / META-INF / context. xml
<Context override="true" >
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
</Context>
[webapp] /WEB-INF/rewrite.config
RewriteRule ^/support/contactUs/?$ ?page=page_supportID&fragment=fragment_contactUsID [NC,L]
Вариант использования : пользователь вводит в свой браузер красивый URL: http://example.com/support/contactUs
Ожидается : правило перезаписи применяется и открывает фактический (безобразный) URL = http://example.com?page=page_supportID&fragment=fragment_contactUsID
, а пользовательский браузер по-прежнему отображает симпатичный URL = http://example.com/support/contactUs
.
Actual : Правило перезаписи применено и открыт фактический (безобразный) URL = http://example.com?page=page_supportID&fragment=fragment_contactUsID
. ОДНАКО адрес URL браузера также отображал этот уродливый URL для пользователя, вместо того, чтобы сохранять красивый.