我为我的网站设置了通配符DNS,现在我的DNS正在转发所有
请求 *.domain.com
至
domain.com
.htaccess文件中我想要的是一种区分根域和动态子域的方法。如果我正在使用
user1.domain.com
那么这应该转到
domain.com?users.php?val=user1
和其他文件,如新闻项,层次结构应该像
user1.domain.com/news/newsdetails.php
到
domain.com/newsdetails.php?val=user1
它不应该打扰主根域,就像我的domain.com/newsdetails.php
将转到newsdetails文件而不设置val变量。
这里的想法基本上是我应该处理动态子域重写和主域文件。
编辑:我也希望如果有人进入www.domain.com然后它应该选择该请求的索引文件,如果它的user1.domain.com那么它应该是另一个文件。
任何人都能在这个问题上帮助我吗?
答案 0 :(得分:1)
以下是一些可以提供帮助的链接:
答案 1 :(得分:1)
这是我在我的生产环境中使用的东西:
# => handle domain names like "prefix.domainname.xx"
RewriteCond %{HTTP_HOST} (([a-zA-Z0-9\-]+)\.)([a-zA-Z0-9\-]+)\.+(fr|com|net|org|eu)$
# - If valid, let's take an example:
# http://aa.domainname.fr
# %1 = first group until "." (with it) i.e. "aa."
# %2 = first group without the "." i.e. "aa"
# %3 is the domain name i.e. "domainname"
# %4 is the extension
# - in %2 = your user id
RewriteRule $ news/newsdetails\.php newsdetails.php?val=%2 [QSA,L]
我几乎可以肯定这可行。当然,这只适用于您的第一个URL示例。如果你想要更多的东西,请求它。