2016-10-07 12 views
0

私は本当にクラウドフレアの国コードに基づいて私の.htaccessファイルにリダイレクトを配置するのに苦労しています。私は、このサイト全体からの例を使用して、「リダイレクトエラーが多すぎます」または500の内部エラーが発生しています。.htaccess Cloudflareの場所にリダイレクト

私は現在、この持っている:

Options +FollowSymLinks 
RewriteEngine on 

SetEnvIf CF-IPCountry "(.*)$" Country=$1 

RewriteCond %{ENV:Country} GB 
RewriteRule ^(.*)$ http://example.com/$1 [R,L] 

だから私はhttp://example.com

するデフォルトのドメインを必要とするが、GBの国コードは、例えばCloudFlareのから来た場合、私はそれがにリダイレクトする必要があります:

http://example.com/gb

私の制限された.htaccessの知識はこれが可能ですか?

答えて

0

で試してみてください:

Options +FollowSymLinks 
RewriteEngine on 

RewriteCond %{HTTP:CF-IPCountry} ^GB$ 
RewriteCond %{REQUEST_URI} !(?:gif|png|jpg|jpeg|css)$ [NC] 
RewriteRule !^gb/ /gb%{REQUEST_URI} [NC,NE,R,L] 

リダイレクトhttp://example.com/testhttp://example.com/gb/testにリクエストがすでに/gb/

+0

こんにちは、これは実際にはしかし、期待通りに動作し、それとのリンクを使用していないCF-IPCountry=GBを持つユーザーから来るとき私のリソース(images/cssファイルなど)のすべてを壊してしまい、それらのリクエストをリダイレクトしていると思います。サブフォルダ内のすべてのコピーを持たずにこれを避ける方法はありますか? –

+0

画像やCSSファイルの書き換えを避けるためのルールを1つ追加します。 – Croises