我製作了一個小型Polymer應用程序。我將構建/捆綁文件夾(部署文件)複製到使用Ubuntu和apache2的計算機上。具有Apache服務器的聚合物:URL和應用程序路由配置
根是通常的var/www/html。有一個index.html文件,然後是帶有Polymer構建的所有其他接口(htmls)的/ src文件夾。
對目錄安全模型:
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
聚合物,我配置了APP-路線上大部分的網頁,這樣的:
<app-location route="{{route}}"></app-location>
<app-route
route="{{route}}"
pattern="/:page"
data="{{routeData}}"
tail="{{subroute}}"></app-route>
而且某些頁面都是這樣的:
<app-route route="{{route}}"
pattern="/:recordid"
data="{{routeData}}"></app-route>
這是一個基本的聚合物頁面路由,尋找要顯示的頁面名稱。所以用它來導航看起來像這樣:
domain.com
domain.com/vehicles
domain.com/vehicles/id_of_the_vehicle
domain.com/customers
除了第一個(的index.html),所有其他網頁都在/ src文件夾。
這一切都工作正常,直到我刷新頁面之一。例如,Chrome上的「下拉到刷新」功能會自動刷新頁面。例如,當刷新發生時,服務器嘗試查找'/ vehicles'文件,並且它將顯示404錯誤,因爲根文件夾中沒有這樣的文件。這是在聚合物的應用程序路由組件上使用的路線,以指示要尋找哪個文件...
所以我想我需要把每個請求視爲'index.html',因爲這個文件指向另一個文件my-app.html),它具有所有的應用程序路由配置...客戶端應該處理所有的路由。這是正確的,但?我怎樣才能做到這一點?我應該嘗試從Node.js Express作爲Web服務器而不是Apache?
如果我用本地聚合物服務器(聚合物服務--params)運行應用程序用於測試目的,它一切正常,刷新和所有。
感謝分享 –
謝謝,我嘗試過,但得到這個錯誤: 國米最終服務器錯誤 服務器遇到內部錯誤或配置錯誤,無法完成您的請求。 請聯繫服務器管理員,告知他們發生錯誤的時間以及您在此錯誤出現之前執行的操作。 有關此錯誤的更多信息可能在服務器錯誤日誌中可用。 –