Включите mod_rewrite в Windows для работы .htaccess - PullRequest
0 голосов
/ 14 ноября 2018

Я хочу запустить свое приложение Angular 6 на сервере Apache Tomcat.Но каждый раз, когда я перезагружаюсь, когда в URL-адресе глубоких ссылок отображается статус 404 страница не найдена .Итак, для этого я включил файл .htaccess в корневую папку, где находится мой index.html.Но, тем не менее, это не работает, потому что, возможно, mod_rewrite не включен.

Чтобы включить mod_rewrite, я искал httpd.conf файл, в котором я должен сделатьперемены.Но в моем каталоге ' C: \ Program Files \ Apache Software Foundation \ Tomcat 9.0 ' такого файла НЕТ.

Так как мне включить mod_rewrite, чтобы заставить .htaccess работать и перезагрузить мое приложение Angular без ошибки?

1 Ответ

0 голосов
/ 14 ноября 2018

Tomcat не использует httpd.conf, это файл apache.Расположение отдельных веб-приложений хранится в их отдельных файлах web.xml, но расположение всех конфигов находится в ../tomcat8/conf/server.xml и web.xml

Вместо этого попробуйте WAMP или Apache2Tomcat

Вам нужно указать файл .htaccess для загрузки index.html при каждом попадании.

подобно

DirectoryIndex index.html
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !\.(jpg|jpeg|png|gif|flv|mpeg|mpg|mp4)$
RewriteRule ^.*$ bootstrap.html [NC,L]

Эта строка находится в LoadModule rewrite_module modules/mod_rewrite.so в httpd.conf файле, он будет находиться в папке conf.вам нужно удалить из него хеш (#), а затем перезапустить службы apache.

Если вы хотите эту настройку в Tomcat, то, что я сделал в примере проекта, добавил следующий код в webapps\ROOT\WEB-INF\web.xml file

<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
  version="4.0"
  metadata-complete="true">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

   <error-page>
    <error-code>404</error-code>
    <location>/test/index.html</location>
  </error-page>
</web-app>

Здесь /test/index.html test - это имя моего проекта, вы можете изменить его на свое, но попробуйте использовать проект web.xml, чтобы избежать перенаправления других проектов.и в этом случае вы можете напрямую добавить /index.html в путь

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