2012-03-02 57 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