Php .htaccess recirect domain或sub-domain访问变量,具体取决于数据库

Php .htaccess recirect domain或sub-domain访问变量,具体取决于数据库,php,apache,.htaccess,redirect,Php,Apache,.htaccess,Redirect,我正在尝试将域/子域重定向到变量,例如: sub.domain.com --------> domain.com/site/site=sub domain2.com -----------> domain.com/site/site=domain2 这必须取决于数据库值 不确定使用php或.htaccess是否可以实现这一点 谢谢 Siriuo您可以用PHP实现这一点,但如果这是在每个请求上都会发生的事情,那就有点过头了。如果这是为了负载平衡,那么sapi中内置了更好的解决方案,如

我正在尝试将域/子域重定向到变量,例如:

sub.domain.com --------> domain.com/site/site=sub
domain2.com -----------> domain.com/site/site=domain2
这必须取决于数据库值

不确定使用php或.htaccess是否可以实现这一点

谢谢


Siriuo

您可以用PHP实现这一点,但如果这是在每个请求上都会发生的事情,那就有点过头了。如果这是为了负载平衡,那么sapi中内置了更好的解决方案,如
nginx

否则,我实际上建议编写一个非常简单的Node.js应用程序,它的工作方式类似于应用程序前面的代理。代理应用程序应该查询内存中的数据库,比如Redis,甚至是MySQL内存类型的数据库。您不希望等待磁盘读取以进行重定向。这将允许您的主应用程序(PHP应用程序)写入确定内存数据库的子域路由所需的任何值,simple Node.js将查询数据库并提供
301
/
302
,或者根据需要在内部管道中实际执行

[SAPI (Nginx, Apache, etc)] --- [Node.js Proxy]  --- (if x) --- [PHP domain.com]
                                    |            `-- (if y) --- [301 to PHP sud.domain.com]
                                    | Query DB                           |
                                    |                  Write DB          |
                                [Redis DB]-------------------------------

这里什么取决于数据库值?因此,如果我在数据库中有一个名为sites的表和一个名为site domain的字段,那么域可能是sub.domain.com或domain2.com,如果可能,则重定向到特定的文件夹/页面。我希望这是有意义的,我正在尝试用一种简单的方式来表达它,内容会因值的不同而有所不同。但重写规则不能查询任何数据库。是的,我想它不能。我想我已经解决了,这样数据库就不重要了。我想我现在要做的是重定向域,如上所述。