2014-02-13 29 views
4

我有一個小的應用程序使用由Ember-App-Kit(EAK)提供的入門工具包。在構建生產到AWS EC2實例後,我已經上傳了遠程目錄。Emberjs應用程序在索引以外的刷新提供了404錯誤

,我面臨截至目前::

  1. 當我打根URL,可以看我的索引頁,而從存在於索引頁的鏈接去任何其他途徑的問題是工作正常,讓我去那個頁面。 當我嘗試在該頁面上進行刷新時,就會出現問題。

首先,我認爲這是由於權限錯誤,但它只是單一的HTML文件,並正確加載js和css。 然後想到可能是htaccess的問題,所以試圖插入一個,但之後也沒有影響。 的應用程序源代碼的條紋縮小版本駐留在用於重定向:: Source Code

.htaccess文件

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index 
RewriteRule ^(.*)$ /index.html [L] 
+0

我很想看到一個不涉及nginx的答案。 – sheriffderek

回答

1

其實我也沒有在圖如何與Apache服務器做到這一點,所以我安裝nginx的,它配合我在配置文件中提供的重寫規則。

server { 
     root /var/www/{Your App Directory Path Here}; 
     index index.html index.htm; 
     server_name {Your website URL or IP address here}; 

     location/{ 
       try_files $uri $uri/ /index.html?/$request_uri; 
     } 
} 

更多的討論,你可以在這裏找到:Ember-App-Kit Git Repo Issue 486

0

你需要確保你的Web服務器提供了你的「指數」頁面不管是什麼網址被訪問。

與Apache,你通常會使用重寫規則,此設置此功能爲灰燼的一些討論http://discuss.emberjs.com/t/apache-rewrite-rule-for-html5-browser-history-url-bookmarkability/1013

+0

我試過了,它不工作。 –

+0

你可以發佈你的Apache重寫規則和一些關於你的主機設置的細節? –

+0

默認設置。啓用虛擬主機。我有一個.htaccess文件,重定向讓我把它添加到問題中。 –

1

由於使用FallbackRessourcethis post中提到的是讓最簡單的方式完成這件事:它可以在.htaccess但由於使用

FallbackResource /index.html 

。我建議將它放在httpd.conf或虛擬主機中的每個請求上解析htaccess。

相關問題