关于webpack部署项目到apache服务器的url重写

用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.so


2: 配置apache conf:

<Directory />

   Options Indexes FollowSymLinks Includes ExecCGI

    AllowOverride None

    Order deny,allow

    Allow from all 

   AllowOverride All

</Directory>


3:在项目根目录下写个.htaccess文件:

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^.*$ / [L,QSA]

但是我在浏览器端输入localhost/list依旧报404错误。求高手指点,是我找我了方法,还是方法细节有bug。

thx。


猛跑小猪
浏览 739回答 1
1回答

小怪兽爱吃肉

我建议最后一行换成这样试试:RewriteRule&nbsp;^&nbsp;/index.html&nbsp;[L,QSA]如果还不行,建议打开RewriteLog采集下rewrite的时候的日志,根据日志来进行分析。 具体情况具体对待。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript