2012-03-02 149 views
0

我在我的htaccess有点麻烦,也许你可以帮助我。
我想我的请求重定向这样的:
htaccess“沉默”重定向

www.fakedomain.mydomain.com/dev> www.mydomain.com/dev/events/fakedomain.php

的HTTP_HOST将fakedomain.mydomain。我想,但开发部分也很重要。我最后的尝试是:

RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.mydomain\.com [NC] 
RewriteRule ^(.*)$ /dev/events/%2 [L] 

此重定向显示在浏览器的顶部,这是我想避免的。
感谢您的时间

+0

“位于浏览器的顶部”是指地址栏?然后mod_rewrite是完全错误的工具。看看mod_alias。 – Boldewyn 2012-03-02 11:27:34

回答

1

如果您使用的是DOCROOT/.htaccess对于这一点,你应该使用:

RewriteEngine On 
RewriteBase /

RewriteCond %{HTTP_HOST}   ^(www\.)?(\w+)\.mydomain\.com [NC] 
RewriteRule ^dev/(?!events/)  dev/events/%2.php    [L] 

正则表达式的(?!events/)位被称为前向断言能够防止在该规则匹配/dev/events/something和从而防止重写循环。

如果您使用的是DOCROOT/dev/.htaccess对于这一点,你应该使用:

RewriteEngine On 
RewriteBase /dev 

RewriteCond %{HTTP_HOST}  ^(www\.)?(\w+)\.mydomain\.com [NC] 
RewriteRule ^(?!events/)  events/%2.php     [L] 

(?!events/)位的正则表达式的被称为前向断言能够防止在该规则匹配/dev/events/something,从而防止重写循环。

+0

你好TerryE,感谢您的快速回复。 htaccess文件在/ dev文件夹中,对不起,我没有指出这点 – 2012-03-02 11:29:40

+0

@DiogoMendonça,我已经更新了添加dev/.htaccess版本 – TerryE 2012-03-02 11:37:14

+1

它的作用像一个魅力:)非常感谢您的时间 – 2012-03-02 11:46:39