我正在构建一个具有多租户结构的webscheduler,我正在尝试做的是为每个买家分配一个指向我的应用程序的自定义URL.
所以基本上当用户从我那里购买许可证时,我会在我的网络服务器上创建一个自定义网址,如下所示:
http://webserver/foo.scheduler.com/login
foo
购买许可证的用户的名称在哪里,并且scheduler
是网址的默认部分,另一个示例包含更多买家:
http://webserver/foo.scheduler.com/login http://webserver/foo2.scheduler.com/login http://webserver/foo3.scheduler.com/login
基本上有三个买家(我的客户),每个自定义端点允许我识别正确的数据库凭证,因为在我的逻辑中每个租户都有一个特定的数据库,用于更多的数据组织.
实际上我的应用程序位于此端点:
http://webserver/scheduler
我想知道是否有可能指向所有自定义网址http://webserver/scheduler
,而不是在浏览器中重写网址,所以例如当用户转到http://webserver/foo.scheduler.com/login
true时http://webserver/scheduler/login
,但用户仍然继续看到http://webserver/foo.scheduler.com/login
.
怎么办呢?在我.htaccess
的应用程序文件夹的根目录中,我有这样的内容:
RewriteEngine On RewriteBase /webscheduler/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
这允许我重写索引的基本路径,并将跟踪分流到特定的控制器.