如何点所有子域的index.php [关闭](How to point all subdomains

2019-09-01 06:44发布

我想举办一个网站上的用户个人资料页都具有独特的子域,如username.sitename.com。 我想为指向一个Apache /虚拟主机解决方案* .sitename.com到sitename.com/index.php,在那里我能合群,其子域配备了一个个人页面,这将显示404错误。

请帮我建立的.htaccess

Answer 1:

你只需要一个正确的虚拟主机设置。

<VirtualHost *:80>
  ServerName example.com 
  ServerAlias *.example.com

  [...] 

</VirtualHost>

如在index.php是在它被自动调用所述的DirectoryIndex,无论哪个域被调用。 难道动态响应你的存取权限请求的主机线槽$_SERVER['HTTP_HOST']变量。



Answer 2:

这是最好用在httpd.conf文件服务器级别(或包含的配置文件),301重定向做到这一点。 而不是创建一个虚拟主机,使服务器的答案和过滤使用.htaccess文件的每个域,您可以设置重定向的虚拟主机本身。

你可以做到这一点的mod_rewrite

<VirtualHost *>
  ServerName subdomain.example.com
  RewriteEngine on
  RewriteRule ^/(.*)$ http://example.com/index.php [L,R=301]
</VirtualHost>

<VirtualHost *>
  ServerName subdomain2.example.com
  RewriteEngine on
  RewriteRule ^/(.*)$ http://example.com/404.php [L,R=301]
</VirtualHost>

或者如果你正在运行mod_alias中您可以使用此:

<VirtualHost *>
  ServerName subdomain.example.com
  Redirect 301 / http://example.com/index.php
</VirtualHost>

<VirtualHost *>
  ServerName subdomain2.example.com
  Redirect 301 / http://example.com/404.php
</VirtualHost>


文章来源: How to point all subdomains to index.php [closed]