2012-08-06 97 views
0

自从我一直在考虑某些网站正在实施的功能以来,它已经有一段时间了,它看起来非常成功。创建动态子域名

类似于tumblr.com,blogger.com,wordpress.com的网站允许用户使用简单的HTML/PHP表单从网站内注册新的子域名。用我目前对PHP的知识,我无法弄清楚自己是如何完成的。我已经阅读了一些关于这方面的文章,但仍然无法对此做出明确的想法。因此,如何创建一个允许用户在我的网站(www.username.mydomain.com)上注册他们自己的子域的脚本,以及如何让他们使用不同的网站模板(如wordpress.com)。这是可能在共享服务器上完成还是需要专用服务器?

+0

请查看我的帖子,以便在https://stackoverflow.com/questions/586129/create-subdomains-on-the-fly-with-htaccess-php中动态创建通配符子域。 – 2017-06-07 08:11:04

回答

2

这些子域问题被降低到nice URLs,friendly URLs等的级别,因为此功能有不同的名称。

基本上你所做的是你设置了重定向,这样如果有人输入foobar.example.org,服务器将服务于example.org/user.php?name=foobarexample.org/foobar。在此之后,这只是你如何整理你的PHP脚本,以便user.php/foobar的内容被正确解析。 “注册”部分在您的DocumentRoot.htaccess文件中静态完成。

当然,这将需要一些适当的错误处理为一个不敏感的“子域”。

+0

是的,我读过一些关于重定向的帖子,它看起来是一个很好的选择。但是,正如我想象的那样,重定向后地址栏中的URL从'user.mydomain.com'改为'mydomain.com/user'。我该如何保持URL不变,比如'user.mydomain.com/page1','user.mydomain.com/page2'等等。还有一个问题是,这可以在共享服务器上完成,因为某些托管公司不允许用户访问'.htaccess'并对其进行更改。 – 2012-08-07 07:48:29

+0

像这样的高级配置可能不会在共享服务器上被取消,因为它需要大量使用'.htaccess'。像Wordpress和Tumblr这样的公司拥有自己的专用服务器集群。相关的'.htaccess'指令是['mod_rewrite'](http://httpd.apache.org/docs/current/mod/mod_rewrite.html)模块。 – Whisperity 2012-08-07 08:43:42

2

我可以告诉你一个简单的方法。 首先你必须在你的域中启用子域名。您可以搜索'wildcard-dns和子域'。接下来都是编程逻辑。

注册时可以要求唯一的子域名。登录后,将其重定向到注册的子域。