2016-12-11 9 views
0

この問題についての記事がたくさんあるとしても、これを動作させることはできません。 私の状況は次のとおりです。 From one domain english-domain.com私は別のドメインに特定のディレクトリに書き直したいと思います。 german-domain.de/en。これらの各ドメインにはハイフンが含まれています。典型的な発電機は、悲しいことに、次のコードは、あなたたちが方向を修正するために私を指すことができれば、それは非常に感謝するでしょうhtaccess - 新しいドメインとサブフォルダにリダイレクト

RewriteCond %{HTTP_HOST} ^(www.)?english-domain\.com [NC] 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^(.*)$ german-domain.de/en/$1 [R=301,L] 

で RewriteEngine動作しない作業solution.For例で私を提供していません。 ありがとうございます

+0

これは、書き換え先のURLが有効なURLではないためです。 – arkascha

答えて

0

この単純に変更されたバージョンについてはどうですか?

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?english-domain\.com$ [NC] 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule ^(.*)$ https://german-domain.de/en/$1 [R=301,L] 

あなたが本当にコード化され、第2 RewriteCondはあなたが望むものである場合でも、私は疑問に思います。書き換えを特定のURL https://english-domain.com/のみに制限します。/をパスコンポーネントとして持つURLではなく... すべてのURLを書き換えたい場合は、https://english-domain.com/foo/barも必要ですその条件削除する:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www.)?english-domain\.com$ [NC] 
RewriteRule ^(.*)$ https://german-domain.de/en/$1 [R=301,L] 

ああ、と明らかにあなたはhtaccessスタイルファイルの解釈がすべてで有効になっていると書き換えモジュールがインストールされていることを確認する必要があります。


と一般的なヒント:あなたは、常に代わり.htaccessスタイルファイルを使用してのhttpサーバホストコンフィギュレーション内のこのようなルールを置くことを好む必要があります。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。

関連する問題