首页 > 解决方案 > 如何使用 htaccess 从子 URL 重写到子目录?

问题描述

我的后端是 PHP,在前端我想要一个 reactJS 编译项目,我想允许用户访问 via example.com/app,并且该编译项目的index.html文件被放置在/var/www/html/reactjs/build/index.html其中,我需要以某种方式将所有example.com/app请求重写到该目录,否则 reactJS 应用程序将不会' t 工作正常/根本。

这是我试图做的,但对我不起作用:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/app /reactjs/build/index.html [QSA,L]

IDK还有什么可以尝试的,我很想知道如何解决这个问题:)

标签: phpreactjs.htaccess

解决方案


RewriteRule ^/app /reactjs/build/index.html [QSA,L]

在与模式.htaccess匹配的 URL 路径中,不以斜杠开头,因此需要重写:RewriteRule

RewriteRule ^app /reactjs/build/index.html [L]

QSA此处也不需要该标志。

更新:我正在使用的网站是一个 wordpress 网站

这些指令需要放在WordPress 前端控制器之前,否则这些请求/app/...将被路由到 WordPress。例如:

# ReactJS routing...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^app /reactjs/build/index.html [L]

# BEGIN WordPress
:

推荐阅读