是否可以使用没有重定向(R标志)的通配符创建子域?

时间:2011-02-18 17:02:42

标签: .htaccess subdomain wildcard

我认为我已经在我的域中配置了通配符,因为它适用于我:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [R,L]

但是只有我用R或R = 301标志重定向。我想有一个虚拟子域,用户不会注意到它。 subdomain.example.com并且不要更改栏中的网址。

我尝试了下一个:

RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.example\.com
RewriteRule ^(.*)$ http://www.example.com/member.php?username=%1 [L]

没有R标志。但是我收到内部服务器错误。问题是什么?有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:1)

如果没有重定向,您无法重定向到绝对网址。

document中的“虚拟用户主机”部分解决了您的问题。

如果你的user.example.com和www.example.com指向同一台机器,那么<​​/ p>

RewriteCond %{HTTP_HOST} !^www.example.com [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+).example.com 
   RewriteRule ^(.*)$      /member.php?username=%1 [L]

但是您打算如何处理在RewriteRule中捕获的群组