2012-03-02 4 views
0

私のhtaccessに少し問題があります。おそらくあなたは私を助けることができます。
私はこのように私の要求をリダイレクトします:
htaccess "silent"リダイレクト

www.fakedomain.mydomain.com/dev> HTTP_HOSTがfakedomain.mydomainされるだろう

www.mydomain.com/dev/events/fakedomain.php。私は推測するが、devの部分も重要です。私の最後の試みだった:

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

このリダイレクトは、ブラウザの上部にある私は避けたいものを示しています。あなたはこのためにあなたのDOCROOT/.htaccessを使用している場合
はお時間

+0

「ブラウザの上部にある」とは、アドレスバーを意味しますか?それから、mod_rewriteは完全に間違ったツールです。 mod_aliasを見てください。 – Boldewyn

答えて

1

をありがとう、あなたが使用する必要があります。

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フォルダの中にあります。私はそれを指摘しなかったことを申し訳ありません。 –

+0

@DiogoMendonça、dev/.htaccessバージョンを追加しました。 – TerryE

+1

あなたの時間のために魅力的です:) –