在我的网络应用程序中,我正在考虑让用户有机会选择他们选择的子域,这样他们就可以选择类似以下内容的内容:
foobar.myapp.com
其中 foobar 是他们选择的子域名。设置此类内容的正确方法是什么?.htaccess?有一些用于编写虚拟主机的 API?应用程序仍将始终映射到我服务器上的一个目录,我只想为主题提供一个自定义 URL。
答案1
是的,可以通过 .htaccess 来完成,但只有当您拥有域名的通配符 DNS 条目或还为每个子域添加了 DNS 记录时,它才会起作用。
答案2
我会按照您的建议设置一个写入虚拟主机的 API,只需确保它进行适当的检查以确保没有发生任何可疑的事情;例如具有相同名称的多个 VH、命名约定等......
答案3
我觉得mod_rewrite这种方式更适合服务不同的目录,所以我宁愿在应用程序内部处理它。毕竟你只是在谈论同一个应用程序内的 URL 重写。不过,仍然需要通配符 DNS 记录。
我甚至不会费心使用 vhost api。
无论哪种方式,当然要注意,使用 HTTP HOST 标头来选择所提供的内容具有安全隐患,就像任何其他用户提供的输入一样。