PHP 虚假子域
PHP Fake Subdomain
我有一个项目可以免费打开很多网站。他们必须 运行 在用户想要的任何子域上。我无法为所有用户创建新的真实子域,也无法在创建新站点时将所有文件复制到新子域。它必须参考我的主要网站。所以,我想要一个这样的系统:
对于 "example" 子域:
example.domain.com -> domain.com/index.php?subdomain=example
example.domain.com/foo.php -> domain.com/foo.php?subdomain=example
example.domain.com/bar.php?foo=bar -> domain.com/bar.php?subdomain=example&foo=bar
对于 "new" 子域:
new.domain.com -> domain.com/index.php?subdomain=example
new.domain.com/foo.php -> domain.com/foo.php?subdomain=example
new.domain.com/bar.php?foo=bar -> domain.com/bar.php?subdomain=example&foo=bar
等...
我该怎么做?
谢谢!
会是这样的:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$
RewriteRule ^(.+) %{HTTP_HOST} [C]
RewriteRule ^([^.]+)\.domain\.com(.*) /index.php?subdomain=
但是您不需要 RewriteEngine
来完成您的任务...只需设置服务器以便它托管 *.domain.com
并在您的 PHP 脚本中使用类似的东西:
<?php
$subdomain = array_shift((explode(".",$_SERVER['HTTP_HOST']))); // will for example return "example" for "example.domain.com"
if($subdomain == 'example'){
do_something();
}else if($subdomain == 'new'){
do_something_new();
}
?>
我有一个项目可以免费打开很多网站。他们必须 运行 在用户想要的任何子域上。我无法为所有用户创建新的真实子域,也无法在创建新站点时将所有文件复制到新子域。它必须参考我的主要网站。所以,我想要一个这样的系统:
对于 "example" 子域:
example.domain.com -> domain.com/index.php?subdomain=example
example.domain.com/foo.php -> domain.com/foo.php?subdomain=example
example.domain.com/bar.php?foo=bar -> domain.com/bar.php?subdomain=example&foo=bar
对于 "new" 子域:
new.domain.com -> domain.com/index.php?subdomain=example
new.domain.com/foo.php -> domain.com/foo.php?subdomain=example
new.domain.com/bar.php?foo=bar -> domain.com/bar.php?subdomain=example&foo=bar
等...
我该怎么做?
谢谢!
会是这样的:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$
RewriteRule ^(.+) %{HTTP_HOST} [C]
RewriteRule ^([^.]+)\.domain\.com(.*) /index.php?subdomain=
但是您不需要 RewriteEngine
来完成您的任务...只需设置服务器以便它托管 *.domain.com
并在您的 PHP 脚本中使用类似的东西:
<?php
$subdomain = array_shift((explode(".",$_SERVER['HTTP_HOST']))); // will for example return "example" for "example.domain.com"
if($subdomain == 'example'){
do_something();
}else if($subdomain == 'new'){
do_something_new();
}
?>