我试图在同一台服务器上运行两个不同的php框架。要使用的框架由uri中的第一条路径决定。
例如:
将转到位于:
的index.php/无功/网络/ HTML / API / API
其他一切(http://www.example.com/v2/requestname)将转到位于:
的index.php/无功/网络/ HTML / API2 /公共
这是我的apache 2.2 config:
Alias /v1 /var/www/html/api/api
<Directory /var/www/html/api/api>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
DocumentRoot "/var/www/html/api2/public"
<Directory "/var/www/html/api2/public">
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
我一直试图用apache做这个,但每个请求都被路由到api2。我所看到的一切似乎都说这应该有效。
答案 0 :(得分:0)
所以,这是我为未来的任何人提出的解决方案:
将以/ v1开头的任何内容设置为发送到API的第一个版本。
Alias /v1 /var/www/html/api/api/index.php
将其他所有内容发送到第二个版本:
DocumentRoot "/var/www/html/api2/public"
<Directory "/var/www/html/api2/public">
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
诀窍是将index.php添加到Alias的末尾。