我的服务器结构是
/build/(这里部署了一个react应用)和**/API/**(这里部署了一个PHP应用)
我想将www.test.com/ * 的流量重定向到**/build**,将www.test.com/api/ * 的流量重定向到**/API**
这是我目前拥有的.htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(.+\.(js|css|svg|png))$ /build/$1 [L]
RewriteRule . /build/index.html [L]
# Rewrite the base route to /build/index.html
RewriteRule ^$ /build/index.html [L]
此规则适用于除/(root)之外的所有测试用例,该测试用例呈现根索引文件而不是/build/index. html下的根索引文件
3条答案
按热度按时间6tr1vspr1#
试试这个:
此配置将把对
/api/
的请求重定向到/api
目录,从/build
目录提供静态文件,对于所有其他请求,它将把它们重写为/build/index.html.
。对根^
规则的修改确保根URL提供正确的/build/index.html
文件。编辑:
如果您怀疑问题与
/api/
请求的RewriteRule有关,您可以尝试以下修改来处理这些请求:w8biq8rn2#
这种方法似乎是有效的
bihw5rsg3#
这就是我如何从头开始编写htaccess,以满足您在书面描述和已经提供的代码中的要求:
[Edit:固定顺序--必须爱复制/粘贴错误,我的错误!]