單頁面應用的vue項目,設置router模式爲history。能夠跳轉但刷新了頁面,則顯示爲404。
vue-router的默認hash模式使用URL的hash來模擬一個完整的URL,當URL改變時,頁面不會從新加載。可是這種hash很醜,也不符合對URL的使用習慣。因此,須要使用另一個叫history模式來實現URL跳轉而無須從新加載頁面。
export default new Router({ mode: "history", routes: [# other code ] )}
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>
location / { try_files $uri $uri/ /index.html; }