繁体   English   中英

使用通配符子域的简单URL重写

[英]Simple URL Rewrite with wildcard subdomain

我想为每个用户提供唯一的子域地址,例如http://*.mywebsite.com,其中*可以是任何用户名,例如xyz,abc,john,deo等。

我希望每当有人打开诸如http://aswt.mywebsite.com之类的URL时,它将被重定向到http://www.mywebsite.com/panels/users/index.php?subdomain=aswt

请帮助我实现它,因为我是url重写的新手。 我确实尝试过在Google上搜索和堆栈溢出,但没有找到任何与我相似或易于使用的东西。

AFAIK,您不能使用mod_rewrite来做到这一点:RewriteRule不考虑HTTP_HOST。 RewriteCond可以,但是在这里还不够。

您必须使用PHP来做到这一点:

if (preg_match('#^(.*)\.mywebsite\.com$#', $_SERVER['HTTP_HOST'], $matches))
{
  header('Location: /panels/users/index.php?subdomain='.$matches[1];
  exit;
}

应该做到...

无论如何,对于URL重写(尤其是复杂的URL重写),PHP带来的问题通常比mod_rewrite少得多,并且功能更强大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM