Url rewriting 将子域重写到目录

Url rewriting 将子域重写到目录,url-rewriting,Url Rewriting,我想使用内部URL重写将subdomain.example.com映射到www.example.com/subdomain,该重写查看主机名,并简单地将任何请求转发到与子域同名的子目录 感谢您使用.htaccess提供的帮助: RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com RewriteRule (.*) http://www.yourdomain.com/$1 [R=301,L] 如果您使用的是Apache,请参阅以下内容: 您需要在DNS

我想使用内部URL重写将
subdomain.example.com
映射到
www.example.com/subdomain
,该重写查看主机名,并简单地将任何请求转发到与子域同名的子目录

感谢您使用.htaccess提供的帮助

RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com 
RewriteRule (.*) http://www.yourdomain.com/$1 [R=301,L]
如果您使用的是Apache,请参阅以下内容:

  • 您需要在DNS服务器*.website.com上创建通配符域
  • 然后,在vhost容器中,还需要指定通配符*.website.com-这在ServerAlias中完成
  • 然后,您将希望使用与pritaeas发布的重写规则类似的规则,或者使用PHP脚本获取域并基于它重定向

    $url = substr($_SERVER['SERVER_NAME'], 0, strpos($_SERVER['SERVER_NAME'], '.'));
    header("Location: http://mydomain.com/$url");
    

    这需要在服务器级别上完成。您使用什么web服务器?这是如何回答这个问题的?假设您使用Apache,您可以使用这个.htaccess文件为您执行重定向。哦,我是否误读了映射部分?对不起,是的,是Apache。这个答案为我指明了正确的方向,谢谢。这个答案将用户的浏览器重定向到上述页面。问题是关于在内部将请求重写到一个子目录,该子目录旨在承载子域。这些指令用于重定向,而不是重写。就像公认的答案一样。