同一台服务器上的两个不同项目(不同 index.php)
Two different projects (different index.php's) on same server
我正在尝试在同一台服务器上 运行 两个不同的 php 框架。要使用的框架由 uri 中的第一个路径确定。
例如:
将前往 index.php 位于:
/var/www/html/api/api
其他所有内容 (http://www.example.com/v2/requestname) 将转到位于 index.php 的 index.php:
/var/www/html/api2/public
这是我的 apache 2.2 配置:
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。我正在寻找的一切似乎都在说这应该有效。
所以这是我为未来的任何人想出的解决方案:
将以 /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 添加到别名的末尾。
我正在尝试在同一台服务器上 运行 两个不同的 php 框架。要使用的框架由 uri 中的第一个路径确定。
例如:
将前往 index.php 位于:
/var/www/html/api/api
其他所有内容 (http://www.example.com/v2/requestname) 将转到位于 index.php 的 index.php:
/var/www/html/api2/public
这是我的 apache 2.2 配置:
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。我正在寻找的一切似乎都在说这应该有效。
所以这是我为未来的任何人想出的解决方案:
将以 /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 添加到别名的末尾。