17

同じホスティング サーバーを指す 2 つの異なるドメイン (たとえば、www.site1.com と www.site2.com) があります。

最初のドメイン名をイタリア語のコンテンツに使用し、2 つ目のドメイン名を英語のコンテンツに使用したいので、2 つの異なるドメイン名が必要です。言語以外の内容は同じですが、ドメイン異なる必要があります。

そこで、以下から翻訳できるルールを書きたいと思います。

  • www.site1.com/?lang=it

  • www.site2.com/?lang=en

私は通常、多くの異なる言語の書き換えに同じドメイン名を使用しますwww.site.com/it/(/?lang=itもちろん、透過的な書き換え - ユーザーには別の URL は表示されません)。

異なるドメインを使用して同じことを達成したいのですが、方法がわかりません...何時間も取り組んできましたが、目的を達成できません!

通常、私はこれを使用します:

RewriteCond %{REQUEST_URI} /([a-z]{2})
RewriteRule ^([a-z]{2})[/]*$ /index.php?lang=$1 [NC,QSA]

別のドメインを使用するために、これを機能させることができません:

RewriteCond %{HTTP_HOST} ^www.site1\.com [NC]
RewriteCond %{REQUEST_URI} !^/index.php?lang=it
RewriteRule ^(.*)$ /index.php?lang=it [NC,QSA]

RewriteCond %{HTTP_HOST} ^www.site2\.com [NC]
RewriteCond %{REQUEST_URI} !^/index.php?lang=en
RewriteRule ^(.*)$ /index.php?lang=en [NC,QSA]
4

1 に答える 1

34

ローレンス・シェローネ - ありがとうございます。今では動作します:

RewriteCond %{HTTP_HOST} ^www\.site1\.com [NC] 
RewriteRule ^(.*)$ index.php?lang=it [NC,QSA] 
RewriteCond %{HTTP_HOST} ^www\.site2\.com [NC] 
RewriteRule ^(.*)$ index.php?lang=en [NC,QSA] 

もちろん、このルールの前に www リダイレクトをチェックします。

ありがとうございました!!

于 2012-04-20T07:09:15.917 に答える