【问题标题】:Completely redirect subdomain to subfolder?将子域完全重定向到子文件夹?
【发布时间】:2014-07-24 23:37:35
【问题描述】:

我正在试图弄清楚如何指导以下内容:

abc.domain.com 到同一服务器上的文件夹,在本例中,让我们使用 /userdata/abc

因此,当您访问 abc.domain.com 时,您会获得 /userdata/abc 中的所有文件,并且域不会改变。

我正在尝试使其尽可能动态化(尽管.htaccess 已经很糟糕了),以便用户 abc 拥有自己的域和自己的内容。

有什么建议吗?

【问题讨论】:

标签: php apache redirect subdomain


【解决方案1】:

试试这样的:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^abc.domain.com
RewriteRule ^(.*)$ http://example.com/subdomains/userdata/$1 [L,NC,QSA]

【讨论】:

  • 这不会将域名与 abc 子域一起保存,它只是重定向到其他 url。我希望它加载子目录的内容并保留子域 url。
【解决方案2】:

我不知道你的用户目录中有什么,但它应该或多或少这样工作..

主目录下的index.php

 <?php

      $url = $_SERVER['HTTP_HOST'];
      $array=parse_url($url);
      $array['host']=explode('.', $array['host']);

      $user = $array['host'][0];

      if($user)
      {
           require_once("/userdata/{$user}/index.php";
      }
      else
      {
          // display main page
      }

 ?>

一个/userdata/USER/index.php是正常的php/html页面

【讨论】:

  • 如果没有人想出更好的答案,那就给你吧,但这是假设它是一批灯文件。,事实并非如此。
【解决方案3】:

解决方法如下: .htaccess rewrite subdomain to directory

所以基本上:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteCond %{HTTP_HOST} subdomain\.domain\.com
RewriteCond $1 !^userdata
RewriteRule (.*) /userdata/subdomain/$1 [L]

这将获取 /userdata/subdomain 的内容,而无需更改 url。 所以 subdomain.domain.com = /userdata/subdomain/的内容

【讨论】:

  • 这是我在第一条评论中写的同一个链接 ;)
  • 是的。但是 A. 不特定于问题 & B. 我不知道如何从另一个问题中选择另一个答案作为答案。你应该得到荣誉,但你目前的答案假设很多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2014-09-05
  • 2012-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多