我有一个名为foobar
的Web应用程序。在此foobar
文件夹中,我有两个文件夹:
client
server
服务器包含我的api,并使用Slim(PHP)编写。我在server/public/index.php
中有一个文件可以处理。
客户包含我的反应代码。在其中,有一个build
文件夹,其中包含react's
个构建文件; index.html
文件。
此应用程序将托管在一个子域中,即foo.bar.com
在我的服务器上,我正在使用Apache的VirtualHost来配置服务器和客户端。
这就是我想要的:
对foo.bar.com/
的任何请求都应转到client/build/index.html
(客户反应网站)。
对foo.bar.com/api/*
的任何请求都应转到server/public/index.php
这是到目前为止我得到的:
<VirtualHost *:80>
ServerName foo.bar.com
DocumentRoot /var/www/deployment_foobar
<Directory /var/www/deployment_foobar/server>
RewriteRule /api/(.*) /public/index.php
</Directory>
<Directory /var/www/deployment_foobar/client>
RewriteRule / /build
</Directory>
</VirtualHost>
我在做什么错了?
答案 0 :(得分:0)
尝试:
<VirtualHost *:80>
ServerName foo.bar.com
DocumentRoot /var/www/deployment_foobar
RewriteRule ^/api/ /server/public/index.php [L]
RewriteCond %{REQUEST_URI} !^/api/
RewriteCond %{REQUEST_URI} !^/server/public
RewriteCond %{REQUEST_URI} !^/client/build
RewriteRule ^ /client/build%{REQUEST_URI} [L]
</VirtualHost>