我有一个允许免费开放网站的项目。他们必须在满足用户需求的子域上运行。我无法为所有用户创建新的真实子域,并且在创建新站点时无法将所有文件复制到新的子域。它必须参考我的主网站。所以,我希望有一个像这样的系统:
对于"示例"子域:
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
等...
我该怎么做?
谢谢!的
答案 0 :(得分:1)
会是这样的:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.com$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^([^.]+)\.domain\.com(.*) /index.php?subdomain=$1
但是你不需要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();
}
?>