2012-03-01 11 views
0

私の.htaccessファイルは、私はこのようなサブドメインリダイレクトしようとしているとき、500内部サーバーエラーを引き起こし、何らかの理由で、次のとおりです。htaccessファイルとサブドメインのリダイレクトと500内部サーバーエラー

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com [NC] 
RewriteRule ^(.*)$ folder/anotherfolder/$1 [L] 

私の現在のホストをサブドメインを自分でリダイレクトしないので、私はこのようにしなければなりません。私が達成しようとしているのは、ユーザがhttp://subdomain.domain.com/と入力したとき、彼は実際にhttp://domain.com/folder/anotherfolderを見るということです。しかし、私は、アドレスバー上のドメイン自体を変更したくありません。サブドメイン自体は、明らかにメインドメインのエイリアスであるため、メインドメインと同じフォルダを指しています。正規表現は、それのような、GETとして使用生じる場合

上記コードはまた、動作:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com [NC] 
RewriteRule ^(.*)$ folder/anotherfolder/index.php?p=$1 [L] 

GET「P」の値は、しかしながら、例えばありません"test.php"(subdomain.domain.com/test.phpにアクセスしようとした場合)、メインドメイン(フォルダ/ anotherfolder/test.php)からの全パス。

私が間違っていることは何ですか?

答えて

2

ああ、内部リダイレクトループが原因であるようです。これを行うことで修正されました:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^subdomain.domain.com [NC] 
RewriteRule ^folder/anotherfolder/ - [L] 
RewriteRule (.*) folder/anotherfolder/$1 [L] 

あなたが誰かに尋ねた直後に答えがどのように表示されるのか面白い。

1
はこれにあなたのコードを変更

RewriteEngine On 

RewriteCond %{QUERY_STRING} !^p= [NC] 
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.com$ [NC] 
RewriteRule ^(.*)$ folder/anotherfolder/index.php?p=$1 [L] 
関連する問題