2017-01-21 28 views
2

私のプロジェクトは言語バージョンを必要とし、SEO目的のために、私は言語のために$ _SESSIONを作成せず、言語バージョンにサブドメイン名を使用したいと思います。 ..ユーザーの訪問http://ru.example.comの.htaccessファイルは、Webサイトのルートに位置しているインデックスファイルをロードするときに私が欲しい言語のサブドメインのバージョンに.htaccessを書き換える方法

ru.example.com 

しかし、これがすべてではありません。ウェブサイトの私のロシア語版のように見えるとしましょう!たとえば、ユーザがhttp://ru.example.com/products/ .htaccessファイルをロードして、インデックスファイルをロードする場合は、http://example.com/products/

これは何とかできますか?

...

DirectoryIndex index.php 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^ru\.example\.com$ 

と私は残りの部分を完了する方法を知らない:Basicaly私はこれまでのところ、私はこれを持って

...サーバーがURLでファイルをロードするときに何とか無視されるようにサブドメイン名RUを望みます

これができる場合はどうかしてください

答えて

1

これを行う方法は、すべての言語サブドメインを同じウェブサイトで扱うことです。 mod_rewriteは必要ありません。 PHPでHTTP_HOSTをチェックすると、アクセスされているものを見ることができます。それらをすべてServerAliasに入れるか、汎用ServerAlias *.example.comを使用してください。

UseCanonicalName offも設定してください。Apacheが生成する自己参照URLは、訪問したホストを使用し、言語サブドメインを削除しないように設定してください。 Reference here

あなたがそれを行うことができない場合は、私たちにあなたのホスティング設定を知らせてください、そして、それが同じサーバ上にある限り、おそらく書き換えで行うことができます。

+0

#SuperDuperApps正直なところ私はあなたが何を意味するか理解するのは非常に遠いです:)サーバー設定は常に私のために悪夢であり、私はホスティング会社のサポートに頼っています... PHPで変更したい設定を教えてください。 iniファイルのように、あなたが提案する方法でサーバーを設定することができます。私はそれらをフォローします。私を助けてくれてありがとう! – thecore7

+0

と明確に私は共有共有ホスティングでhttpd.confファイルへのアクセス権がありません。 – thecore7

+0

だから、あなたのホストに連絡して、anything.example.comのように* .example.comがあなたのウェブサイトを提供することを伝えるようにしてください。または、[あなたの言語のすべてのサブドメインを一覧表示する]にあなたのウェブサイトが表示されるように指示します。それがどのように行われるかは、ホスティングプロバイダによって異なります。それが完了したら、あなたのウェブサイトと同じIPアドレスを指すように各言語サブドメインを設定するか、ホスティングプロバイダがその部分を行うことができます。完了すると、$ _SERVER ['HTTP_HOST']をチェックすることによって、どのサブドメインに訪問しているかを知ることができます。 – SuperDuperApps

関連する問題