2012-01-26 10 views
1

私のeコマースサイトでmod_geoipを使用して、オーストラリアの顧客を同じサーバーの別の店頭にリダイレクトしています。店舗はroot/store /にあり、ルート/オーストリア/htaccess mod_GeoIPを使用した条件付きリライトルール

にリダイレクトしたいと思っています。基本的な書き換えが完璧に機能するようになっていますが、私はURL構造を同じにします。たとえば、root/store/category/product /というリンクをクリックして海外に住んでいる場合、両方の店舗で同じファイル構造になっているため、root/austore/category/product /にリダイレクトする必要があります。今のように、リンクをクリックすると、基本的なroot/austore /にリダイレクトされます。

これは今のところ書き換えルールです。

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$ 
RewriteRule ^([^/]+)$ /austore/ [L] 

私は編集だ.htaccessファイルは、ストア/ディレクトリにあります。

ご協力いただければ幸いです。ありがとう!

アラン

答えて

1

は、これは完全に働いた

#skip processing /store/skin/ directory 
RewriteRule ^store/skin/ - [L,NC] 

#if they live overseas i.e not Australia 
RewriteCond %{ENV:GEOIP_COUNTRY_CODE} !^AU$ 
#if someone clicks on a link that is root/store/category/product/ 
RewriteCond %{REQUEST_URI} ^/store(/.*)$ [NC] 
#I want them to be redirected to root/austore/category/product/ 
RewriteRule^/austore%1 [L,R] 
+0

を試してみてください。助けてくれてありがとう! – coloradohiker

+0

私の元の質問に従ってください。元のルート/ストア/スキンディレクトリを参照するCSS、イメージ、およびJavaScriptのパスがあります。 htaccessを再作成すると、これらのパスがroot/ukstore/skinに書き直されていましたが、これらは存在しておらず、それらのリンクをすべて破っていました。 URLを書き換えて、スキンディレクトリのパスをそのままにしておく方法はありますか? – coloradohiker

+0

@coloradohiker '/ store/skin/directory'をスキップする上記の編集を参照してください –

関連する問題