2012-08-22 88 views
1

我有一个要求,我想给我的网站用户他们的个人网址。 有点像“http://abc.example.com”,当任何用户在浏览器中输入此网址时,它应该打开此链接“http://www.example.com/index/sub-domain?username=abc” 所以我试着编写并尝试了很多代码,并最终以下面的代码成功,但问题是它重定向。我想要一个内部重定向。 URL地址窗口应保持为“http://abc.example.com”。.htaccess假冒子域

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteRule ^.*$ index.php [NC] 
RewriteCond %{HTTP_HOST} !^www. 
RewriteCond %{HTTP_HOST} ^([a-z]+)\.example.com$ 
RewriteRule ^(.*)$ http://www.example.com/index/sub-domain?username=%1 
</IfModule> 

我不确定是否有可能?任何建议或帮助将有很大的帮助。也有人可以建议我一些.htaccess教程。

回答

1

如果您没有在RewriteRule中指定R标志,mod_rewrite通常会执行内部重写。但是,由于您将绝对URL用作重写目标,因此它必须是完全相同的主机,否则将发出外部重定向。

如果你真的想在内部重定向到另一个主机,你应该检查出mod_proxy。

+0

感谢您的回复,但如果您能让我更了解更多信息,那就太好了。例如:我的网站的主要网址是“www.mydomain.com”,对于付费用户我想给个人网址的设施,如“abc.mydomain.com”,我想执行此网址“www.mydomain .com/xcontroller/yaction?username = abc“,其中atpresent显示用户的个人页面。这个事情将如何实现?按照你的建议检查出mod_proxy,但其他任何帮助将不胜感激.... –