我拥有一个网站,为每个注册用户提供如下专用空间:
www.mywebpage.com/user1
www.mywebpage.com/user2
www.mywebpage.com/user3
在这条路径中,用户拥有他的迷你网站。
我想让我的用户不是我的域中的路径,而是像这样的二级域名:
user1.mywebpage.com
user2.mywebpage.com
user3.mywebpage.com
很多网站都是这样做的,但我无法弄清楚如何获得它!
我是否应该在每个用户的dns记录中注册一个CNAME?我怎么能用PHP实现这个目标?我不认为用人手写的脚本配置godaddy是可能的。
我可以注册一个别名CNAME,它将每个二级域名指向我的顶级域名,然后在我的顶级域名中检查检索用户的网址的第一个令牌:但现在我无法重定向他在新页面(这是他的子网站的索引)或我丢失了网址urx userx.mywebpage.com。
我该如何处理?我很欣赏任何有关正确路径的暗示,以实现我的目标。
答案 0 :(得分:2)
创建指向服务器IP的通配符A记录(*.mywebpage.com
)。
为ServerName *.mywebpage.com
创建一个Apache虚拟主机,将所有请求指向同一个文档根目录。您的脚本会查看主机名以了解它所在的用户的站点。您无需在用户的子域外重定向。如果您的脚本看到子域名是“www”,那么您的特殊情况就是显示主网站而不是用户的内容。
答案 1 :(得分:0)
您不必为尝试获得的内容设置dns条目。根据您对网站的控制程度,如果您使用的是Apache,则可以轻松为子域设置虚拟主机(请参阅http://content.websitegear.com/article/subdomain_setup.htm)
答案 2 :(得分:0)
您想要查看的功能通常称为通配符sudomain(通常博客网站具有此功能)。
通常您创建*的CNAME记录来表示通配符子域。相反,Godaddy制作一个名为*的A记录,并将IP设置为您的服务器。我们过去已经完成了我们的ASP.net网站(不确定是否与GoDaddy一起工作但是试一试)。
由于对PHP知之甚少,我建议在httpd.conf或apache.conf文件中添加一些重定向(URL Rewrite)配置。
请检查一下 http://kbeezie.com/view/wildcard-subdomains-php/
在此之后你可以编写自己的逻辑。您需要做的就是从子域名中的db中找出您的用户并呈现页面。