Błąd aktualizacji wdrożenia angular 2 Azure: zasób, którego szukasz, został usunięty, jego nazwa uległa zmianie lub jest tymczasowo niedostępny.
Mam aplikację rc-2 Angular 2 z zaimplementowanym podstawowym routingiem. Ścieżki to
/ path1, która jest ścieżką domyślną, oraz
/ path2. Ścieżka główna
/przekierowuje do
/ path1. Kiedy uruchamiam go lokalnie (serwer lite) wszystko działa dobrze. Udało mi się wdrożyć tę aplikację w aplikacji internetowej platformy Azure. Aplikacja działa dobrze, ale jeśli odświeżę stronę, gdy jestem w
/ path1lub
/ path2, pojawia się ten błąd:
Zasób, którego szukasz, został usunięto, zmieniono jego nazwę lub jest tymczasowo niedostępny.Możliwym podejściem jest zaimplementowanie przepisywania adresu URL. Dodałem plik web.config do mojego projektu
<?xml version="1.0" encoding="UTF-8"?><configuration>
<system.webServer>
<rewrite>
<rules>
<clear/> <!-- check if its path1 url and navigate to default page -->
<rule name="Path1 Request" enabled="true" stopProcessing="true">
<match url="^path1"/>
<action type="Redirect" url="/index.html" logRewrittenUrl="true"/>
</rule> <!-- check if its path2 url and navigate to default page -->
<rule name="Path2 Request" enabled="true" stopProcessing="true">
<match url="^path2"/>
<action type="Redirect" url="/index.html" logRewrittenUrl="true"/>
</rule> </rules>
</rewrite>
</system.webServer>
</configuration>
W takim przypadku mogę przeprowadzić aktualizację bez otrzymywania tego komunikatu o błędzie. Ale każda aktualizacja przekierowuje mnie do domyślnego adresu URL. Aktualizuję z
/ path2i przekierowuje mnie do
/ path1(domyślny adres URL)
.
Jakieś przemyślenia, jak ulepszyć aktualizację? :)
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
6 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
web.config do głównej aplikacji Angular2. Tak działają serwery Azure (serwery IIS).
Używam webpacka, więc umieściłem go w folderze
src
... Nie zapomnij skopiować go do folderu
dist
podczas wdrażania. użyłem
CopyWebpackPlugin
aby skonfigurować pakiet internetowy, aby go skopiować.
To jest plik web.config:
Ma 2 zasady:
Pierwsza zasada to przekierowanie wszystkich wywołań na https. Usuń go, jeśli nie używasz protokołu HTTPS.
Druga zasada to rozwiązanie problemu. Mam tutaj link do drugiej reguły (podziękowania dla użytkownika
gravityaddiction
z www.reddit.com):
https://www.reddit.com/r/ Angular2/comments/4sl719/Moving_an_angular_2_app_to_a_real_server
https://www.reddit.com/r/Angul ... rver/
/
Anonimowy użytkownik
Potwierdzenie od:
Możesz przeczytać więcej o HashLocationStrategy tutaj:
https://angular.io/docs/ts/lat ... .html
https://angular.io/docs/ts/lat ... .html
Anonimowy użytkownik
Potwierdzenie od:
ale plik nie został skopiowany do osadzonego folderu .
Nie sądziłem, że używam również niestandardowego pliku konfiguracyjnego pakietu internetowego ( ) z wtyczką . Po dodaniu ścieżki do mojej niestandardowej konfiguracji pakietu webpack i przebudowie projektu znajdował się tam plik !