将动态子域重定向到具有子页面的相同子域。怎么样?

时间:2009-08-20 21:37:58

标签: .htaccess mod-rewrite dynamic subdomain

我有点卡在这里。我需要得到一些关于这个子域情况的帮助。

我需要将 http://dynamicsubdomain.example.com/ 重定向到 的 http://dynamicsubdomain.example.com/account/welcome.html 即可。 我该怎么做呢?我尝试了几件事,但都没有结果。主要问题是我无法从mod_rewrite的%{HTTP_POST}字符串中获取输入的动态子域。

另一个问题是它正在创造无限循环。因此需要重定向这些条件,而不是像http://dynamicsubdomain.example.com/test/page.html这样的网址时。因为它会创造无限循环。这只是网站的起始页面。

我希望你们都能帮助我,这是我项目中最后一个但重要的事情之一。

提前致谢!

4 个答案:

答案 0 :(得分:1)

URL redirection维基页面上有几个选项。例如,如何在根目录中删除重定向到目标的index.php?

header("Location: http://dynamicsubdomain.example.com/account/welcome.html");

答案 1 :(得分:1)

如果您停留在同一个域中,并且只是重定向到不同的路径,为什么域名如此重要?

Apache中的UseCanonical设置可能会对此产生影响,但它默认为on,这会保留请求中指定的主机和端口。

RewriteRule ^/$ /account/welcome.html [R,L]

答案 2 :(得分:0)

嘿伙计们,感谢您的支持/帮助,但我自己找到了解决方案。比我想象的要快:)

这就是诀窍,我希望我可以帮助这个人:

RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_HOST} ^([A-Za-z0-9]+).example\.com [NC]
RewriteRule ^ http://%1.example.com/account/welcome.html [L]

@gahooa:我需要这样做,因为我的主页example.com只是一种没有特殊内容的登陆页面。 URL“account / welcome.html”的额外部分用于显示与“子域名”-account相关的页面(例如,gahooa.example.com将显示您的个人资料页面)。在我的应用程序中,我通过preg_match赶上子域,因此它知道它必须加载的女巫帐户。我希望我很清楚:)但不管怎样,谢谢!

这是我第一次使用Stackoverflow,但实际上效果很好!专家快速回复,干得好!我一定会回来的。)

答案 3 :(得分:0)

如果您真的想使用HTTP_HOST

RewriteRule ^$ http://%{HTTP_HOST}/account/welcome.html [L,R]

但是像gahooa已经说过如果你留在同一个主机上你没有指定绝对URL。 URL路径就足够了:

RewriteRule ^$ /account/welcome.html [L,R]