Как уже упоминалось, это зависит от веб-сервера, особенно на производстве. Однако в некоторых случаях и для разработки вы можете захотеть использовать urlrewrite в вашем движке сервлет-контейнера без внешнего веб-сервера. Читая ваш пост, вы используете порт 8888, и это заставляет меня предположить, что вы используете контейнер сервлетов Lucees по умолчанию Tomcat.
Начиная с Tomcat 8.0, можно использовать urlrewrite. Но, как уже было сказано, это рекомендуется только для разработки или с использованием Tomcat как отдельного продукта. Если у вас есть другой веб-сервер перед Tomcat, вы можете оставить эти настройки без изменений, а внешний веб-сервер будет перезаписывать URL. Для рабочего решения с автономным Tomcat добавьте RewriteValve и файл rewrite.config, содержащий правила перезаписи URL, следующим образом:
- Редактировать {path_to_lucee} /conf/server.xml и добавьте директиву RewriteValve в тело вашего . Это было бы так:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
...
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve"/>
...
</Host>
Затем создайте rewrite.config в
{path_to_lucee} /conf/Catalina/localhost/rewrite.config. Вам нужно будет создать папки
Catalina и
localhost на случай, если их не существует. Затем добавьте следующее простое правило перезаписи URL в файл rewrite.config:
RewriteCond %{SERVLET_PATH} !-f
RewriteRule ^\/sampleApp\/(.*)\.cfm(.*)$ sampleApp/views/$1.cfm$2 [L,QSA]
Перезапустите Tomcat, чтобы новые настройки вступили в силу
Вероятно, вам придется настроить это правило. Для получения более подробной информации см .: Apache Клапан перезаписи Tomcat 9