为每个用户使用域名?

时间:2011-01-11 01:12:57

标签: apache web-applications

我希望我能在这里清楚地解释一下,

我有一个网络应用程序,假设它是www.mywebapps.com/user_name

现在,用户想为自己创建一个域名,例如www.user_name.net,访问权限将显示在www.mywebapps.com/user_name

所以例如 www.mywebapps.com/user_name/show/1 它可以从 www.user_name.net/show/1以及

如何完成这项任务?有可能吗?

4 个答案:

答案 0 :(得分:1)

用户必须先注册域名!

你真的是指一个子域吗? 与user-name.mywebapps.com一样(下划线在域名中不合法)

你想要使用mod_rewrite。

子域比新注册的名称容易得多,因为您需要为每个名称修改Web服务器。只有少数几个容易的可能这很难。对于子域,如果您无权访问虚拟主机配置,则只需在虚拟主机配置或.htaccess文件中使用通配符和mod_rewrite命令

DC

您需要将域添加到虚拟主机配置中。最简单的方法是为每个新用户域名创建一个新的虚拟主机。然后将documentroot设置为该users子文件夹。

例如,如果主站点的文档是

/home/mywebapps/public_html

然后在用户虚拟主机中为其提供

的文档根目录
/home/mywebapps/public_html/username

这对于静态或简单的网站来说没问题。对于更复杂的动态站点,您最好使用mod_rewrite。

DC

答案 1 :(得分:0)

每次都需要付费才能注册域名。等待名称通过DNS服务器传播,这可能需要一段时间。

您可以改为使用子域名 - 例如user_name.mywebapps.com

答案 2 :(得分:0)

查看Apache对虚拟主机的支持:

http://httpd.apache.org/docs/1.3/vhosts/

但显然你必须注册所需的域名(Apache不会神奇地为你做这些: - )

答案 3 :(得分:0)

查看 mod_vhost_alias 模块。您将在一个配置文件中处理所有Virtualhosts,其中包含DocumentRoot和ServerName的变量。因此,使用此模块,您可以在每个主用户目录上映射基于每个名称的虚拟主机的DocumentRoot。