从子域重定向而不更改URL

时间:2012-08-28 15:03:20

标签: apache .htaccess web

我想使用.htaccess文件重定向子域而不更改URL。但无法弄清楚。

离。我想转

http://foo.domain.com

http://www.domain.com/users/foo/dashboard.php

我生成了一个脚本来执行此操作,但该网址不会留在http://foo.domain.com

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule ^ http://www.domain.com/users/%1/dashboard.php [L]

感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

你正在做的事情只是说“如果你发现了这个,那就完全重定向到那个网址”

这样做:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com [NC]
RewriteRule ^ dashboard.php?domain=%1 [L, QSA]

它应该可以工作(移动到仪表板在服务器上的目录结构中的任何位置,相对而言)

答案 1 :(得分:0)

尝试此操作(假设所有子域都指向根目录):

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$ [NC]
RewriteRule ^.*$ users/%1/dashboard.php [L]

答案 2 :(得分:0)

代理标志[P]可以解决问题:

<IfModule mod_rewrite.c>
Options +FollowSymLinks
Options +Indexes

RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.*)\.example\.org$ [NC]
RewriteRule http://example.org/users/%1/dashboard.php [P,NC,QSA]
</IfModule>