如何用php实现子域型域名

如何用php实现子域型域名,php,Php,我正在开发一个网站,用户可以在其中使用永久链接,如user.domain.com或domain.com/user,我希望通过php代码实现这一点。敌方。 对于用户名stack而言,永久链接是stack,并且将转到stack.domain.com或domain.com/stack它应该转到用户的配置文件页面 您应该检查您的Web服务器是否有这些“通配符”,然后您可以通过编写一个神奇的虚拟主机来实现这一点 请尝试以下虚拟主机: <VirtualHost *:80> ServerName

我正在开发一个网站,用户可以在其中使用永久链接,如user.domain.comdomain.com/user,我希望通过php代码实现这一点。敌方。
对于用户名stack而言,永久链接是stack,并且将转到stack.domain.comdomain.com/stack它应该转到用户的配置文件页面

您应该检查您的Web服务器是否有这些“通配符”,然后您可以通过编写一个神奇的虚拟主机来实现这一点

请尝试以下虚拟主机:

<VirtualHost *:80>
ServerName local
ServerAlias *.local
VirtualDocumentRoot /var/www/%1/public_html
UseCanonicalName Off
</VirtualHost>

服务器名本地
服务器别名*.local
VirtualDocumentRoot/var/www/%1/public\u html
UseCononicalName关闭

来源:

让我们把这两个案例分开:

user.domain.com 为此,您应该首先配置DNS,以便*.domain.com指向您的服务器。然后在index.php中,您可以检查
$\u SERVER[“HTTP\u HOST”]
是否与something.domain.com匹配(使用例如)。验证
某个内容
是否为有效用户名后,您可以显示用户的配置文件页面或重定向到配置文件

注意:确保您自己使用的任何子域(例如
www.
)都不是有效的用户名

domain.com/user 要实现这一点,您需要为不存在的页面设置某种类型的“一网打尽”。一种方法是,当遇到404错误时,指示Web服务器为php文件提供服务。然后,该文件可以使用
$\u SERVER[“REQUEST\u URI”]
变量来确定是否存在请求的用户配置文件


注意:确保任何已经是有效页面的
/something
都不是有效的用户名。或者,您可以使用类似于
domain.com/u/user
的前缀,以便在您自己的页面名称中更加灵活。

这不仅仅是PHP的任务。您所处的服务器环境是什么?可能重复的stack.domain.com将位于dns端您需要设置子域yeah domain.com/stack这可能与phpI有关。您已经购买了服务器空间。因此,apache的这种虚拟主机配置帮不上忙。唯一的方法就是由我的网站自己来做。