Как настроить rewrite.config для статического веб-приложения в Tomcat - PullRequest
0 голосов
/ 16 марта 2019

Я читаю здесь документацию Angular, в которой говорится об использовании перезаписи URL для HTTP-сервера Apache

https://angular.io/guide/deployment#server-configuration

В нем говорится, чтобы создать переписать, как это выглядит

RewriteEngine On
    # If an existing asset or directory is requested go to it as it is
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    # If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html

Я использую Tomcat, а не httpd. У меня есть готовая установка Tomcat 9, где я обслуживаю статический index.html из каталога с именем my-app внутри каталога webapps. Он отлично обслуживает контент, но мне нужно перенаправить его на index.html при доступе к ресурсу, который не существует, а не выплевывать обратно 404. Я создал rewrite.config, и я установил следующую конфигурацию Valve в conf/server.xml и conf/context.xml только для того, чтобы покрыть мои базы, так как я не уверен, где это поставить. Похоже, это

<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />

Я пытался поместить rewrite.config в conf, conf/Catalina/localhost и my-app/WEB-INF (хотя в статическом веб-приложении я создал WEB-INF)

Документы Tomcat говорят, что он должен быть помещен в WEB-INF https://tomcat.apache.org/tomcat-9.0-doc/rewrite.html

Но не говорим о том, как это сделать для статического веб-приложения.

Ничего из этого не работает, я все равно получаю страницу Tomcat 404 вместо перенаправления

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...