我的设置很奇怪,不用说,我能改变的东西特别有限。目前,对我来说最容易修改的是服务器的.htaccess文件。当前目录设置如下所示:
/是wordpress的安装版本。
/front-end是一个使用wordpress安装REST API来获取数据的react网站
我正在尝试获取它,以便当我访问example.com时,它提供来自/front-end的内容,但所有对/dashboard的请求都是从根目录提供服务的。
例如,这些URL将执行以下操作:
/和/contact将指向front-end目录中的index.html文件(react-router将拾取/contact)
/dashboard/wp-admin和/dashboard/wp-json/menus会让路由目录中的wordpress接管。(这些将始终启动/dashboard)
我试图实现的目标是可行的吗?
我从这个开始,但是我不确定如何忽略/dashboard路由
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-s
RewriteCond %{DOCUMENT_ROOT}/front-end/%{REQUEST_URI} -s
RewriteRule . /front-end/index.html [L]发布于 2019-04-03 04:03:01
RewriteEngine On
RewriteRule ^/?dashboard/(.*)$ /$1?wordpress=true [L,NC]
RewriteCond %{QUERY_STRING} !^.*wordpress=true.*$ [NC]
RewriteCond %{REQUEST_URI} !^/?front\-end.*$ [NC]
RewriteRule ^(.*)$ front-end/$1 [L,NC]dashboard。如果是,我们故意附加一个查询字符串wordpress=true,以避免与您的react文件夹混淆,并遇到太多重定向的问题。wordpress的,后续重写规则不应触及它。wordpress=true的条件,看看这个URL中是否还没有front-end (也适用于内部路由,不需要显式指定)。如果它通过了两个测试,我们会将它重定向到您的react front-end,否则我们会让它按原样执行。!^/?front\-end.*$的原因是为了避免无限的内部重定向到它自己。https://stackoverflow.com/questions/55466137
复制相似问题