react,vue單頁應用刷新404報錯, apache服務器配置

一、問題描述

react單頁應用使用了BrowserRouter 路由(HTML5 history API ),項目打包後,使用apache服務器訪問http://www.ceshi.com/userinfo,能夠正常顯示,但是刷新後頁面404了

二、問題原因

刷新頁面時訪問的資源在服務端找不到,因爲react-router設置的路徑不是真實存在的路徑。
如上的404現象,是因爲在apache配置的根目錄下面壓根沒有userinfo這個真實資源存在,這些訪問資源都是在js裏渲染的。

三、解決方案

1:進入apache目錄的conf目錄

2:打開httpd.conf

3:找到#LoadModule rewrite_module modules/mod_rewrite.so然後把前面的#去掉

4:找到所有的AllowOverride配置項,把所有的None都修改爲All

5:在網站根目錄下面新建一個 .htaccess 文件(什麼?這個文件不會添加?先新建一個txt,然後另存爲 .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>

6:重啓apache

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章