亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

htaccess重定向Angular路由

htaccess重定向Angular路由

楊__羊羊 2019-07-26 15:31:08
htaccess重定向Angular路由我有幾個路線的角度應用,例如:site.com/site.com/pagesite.com/page/4使用angular的html5路由模式,當您從應用程序中單擊指向它們的鏈接時,這些解析正確,但當您進行硬刷新時,當然會出現404錯誤。為了解決這個問題,我嘗試了一個基本的htaccess重寫。RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_METHOD} !OPTIONSRewriteRule ^(.*)$ index.html [L]這適用于角度請求,但是當我嘗試在我的域中加載腳本或進行ajax調用時,例如:<script src="/app/programs/script.js"></script>這個腳本沒有加載 - 它的請求被重定向,它試圖加載index.html頁面,因為.htaccess認為它應該重新路由請求 - 不知道這個文件確實存在,它應該加載文件而不是重定向。有沒有什么方法可以讓htaccess將請求重定向到index.html(帶有視圖參數),只有當它沒有應解析的實際文件時?
查看完整描述

3 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

使用如下代碼:

RewriteEngine onRewriteCond %{REQUEST_FILENAME} -s [OR]RewriteCond %{REQUEST_FILENAME} -l [OR]RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^.*$ - [NC,L]RewriteRule ^(.*) /index.html [NC,L]

如果存在,則跳轉到實際資源,并且index.html對于所有AngularJS路由,將跳轉到實際資源。


查看完整回答
反對 回復 2019-07-26
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

應用程序請求的directive模板文件存在問題,但文件丟失。在某些情況下,它導致應用程序請求多個腳本文件index.html。

如果文件不存在,我們應該發送404響應而不是index.html文件。所以我添加簡單的正則表達式模式來識別丟失的文件請求。

RewriteEngine On# If an existing asset or directory is requested go to it as it isRewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -dRewriteRule ^ - [L]# If the requested pattern is file and file doesn't exist, send 404RewriteCond %{REQUEST_URI} ^(\/[a-z_\-\s0-9\.]+)+\.[a-zA-Z]{2,4}$RewriteRule ^ - [L,R=404]# otherwise use history routerRewriteRule ^ /index.html


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 655 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號