2017-03-27 82 views
0

我正在使用Angular2來構建一個Web移動應用程序,當我構建我的項目並在本地運行它時,一切都很完美,但是當我將它推入我們的生產系統時,我遇到了問題,我想這是關於Apache重寫!Angular2 apache重寫

我的網址在當地http://127.0.0.1/ 我的網址未督促http://domain.tld/mobile/

當我的應用程序在生產,它不會加載如CSS或JS的任何鏈接...所以我的應用程序不能正常工作!

我的.htaccess這個樣子的:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.html$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.html [L] 
</IfModule> 

因此,要解決我的問題,我想我需要編輯我的htaccess,但我怎麼能說給它使用/移動和/,但如果我只放/移動我的應用程序將不會在本地工作..

所以,如果你有任何想法?

謝謝:)

回答

2

你可以試着改變你的地方發展,從一個名爲mobile子文件夾服務,並把您的項目在那裏。你需要改變你的index.html裏面你base href標籤:

<base href="/"> 

另一種選擇可能是唯一的改變你的生產版本的index.html內基本href。

如果您使用的是angular-cli,它有一個選項在生成過程中編輯base href

ng build --base-href=mobile 
+0

謝謝!你的解決方案解決了我所擁有的另一個問題,但即使我這樣構建我的應用,Apache重寫也無法獲得我的CSS和js資源! – Clowning

+0

你的'RewriteBase'被設置爲'/',我想它應該被設置爲'/ mobile' – PierreDuc