用webpack打包的前端代码只有1个index.html实体文件,react-router控制路由。比如:localhost/index.htmlapache访问的是入口文件:index.html.但是访问localhost/list,路由由react-router控制,但是apache却会查找项目目录下的list.html文件。apache找不到该文件,报404错误。解决的方法,(我找到的是)开启rewrite功能,并写个.htaccess,让所有404的页面都rewrite到index.html主要步骤:1: 开启apache rewrite功能:LoadModule rewrite_module libexec/apache2/mod_rewrite.so2: 配置apache conf:<Directory /> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Order deny,allow Allow from all AllowOverride All</Directory>3:在项目根目录下写个.htaccess文件:RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-lRewriteRule ^.*$ / [L,QSA]但是我在浏览器端输入localhost/list依旧报404错误。求高手指点,是我找我了方法,还是方法细节有bug。thx。
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
我建议最后一行换成这样试试:
RewriteRule ^ /index.html [L,QSA]
如果还不行,建议打开RewriteLog采集下rewrite的时候的日志,根据日志来进行分析。 具体情况具体对待。
添加回答
举报
0/150
提交
取消