Я создаю приложение Angular. Это размещено с базой href как /hris
. Поэтому мой базовый URL для доступа к приложению будет domain.com/hris
. Кроме того, у меня есть 3 разных приложения, одно из которых называется term
. Поэтому, когда я нажимаю на ссылку term
, она переходит на domain.com/hris/term.
Когда пользователь напрямую пытается получить доступ к ссылке domain.com/hris/term
, он возвращает 404 с сообщением: HTTP Status 404 - /hris/term
.
Я не хочу, чтобы 404 происходило. Как это сделать?
Что я сделал до сих пор:
Я попытался создать файл .htaccess
в папке, где находится index.html
(я создал приложение Angular, используя ng build --base-href=/hris/
). Я развернул папку dist
на сервере в каталоге с именем hris
.
В файле .htaccess
я использовал следующие варианты, но безрезультатно.
1
<IfModule mod_rewrite.c>
Options Indexes FollowSymLinks
RewriteEngine On
RewriteBase /hris/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.html [L]
</IfModule>
2
<IfModule mod_rewrite.c>
Options Indexes FollowSymLinks
RewriteEngine On
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
3
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) index.html [NC,L]
</IfModule>
Я использую Angular 5. Пожалуйста, дайте мне знать, если мой подход правильный, или что я должен сделать, чтобы это произошло.
Версия: Apache Tomcat 7 - версия 7.0.64