[英]GitHub Pages doesn't allow automatic redirects with Angular, it shows 404 GitHub Page
GitHub 當我使用自動重定向到登錄路徑或嘗試直接訪問該路徑而不是 Angular 中的基本路徑時,頁面顯示 404。
我在 Angular 創建了一個應用程序,當它檢測到 session 未登錄時自動重定向到“/auth/login”。
所以我遇到的問題是,如果我直接訪問 URL“user.github.io/example-app”,應用程序可以正常工作,但是如果我直接訪問 URL“user.github.io/example-app/auth/ login”(或父路徑以外的任何路徑)向我拋出 404 GitHub 頁面。
即使我正在使用 PWA,在我的 Android 設備上安裝應用程序時,它也會直接拋出 GitHub 頁面的 404。
筆記:
我還注意到,如果我使用 Lighthouse 並使用 http-server 進行測試,它也會在執行測試時拋出 404。
使用 http-server 我可以在 Windows 上安裝應用程序,這確實向我顯示了應用程序,而不是我在 GitHub 頁面上遇到的 404。
tl;dr 使用HashLocationStrategy或Scully 。
Angular,默認使用History API進行路由。
該系統允許 JavaScript 告訴瀏覽器:
我操縱了 DOM,因此用戶可以有效地查看新頁面。 如果你去這個 URL然后服務器會發送給你這個頁面。
不幸的是,默認情況下 Angular 沒有做任何事情。 可以使用三種方法讓服務器開始玩球。
或者,保持單個 HTML 文檔,放棄歷史 API,並將其替換為 URL 方案,該方案基於您只有一個 HTML 文檔的前提。 使用HashLocationStrategy )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.