1

メインの言語が英語である PHP で多言語 Web サイト (スペイン語、英語、フランス語) を持っています。

が「en」に設定されている場合$_SESSION['idm']、翻訳を含むファイルをロードします。

このように設定したい:

ユーザー言語がスペイン語の場合

www.mydomain.comそしてmydomain.com->es.mydomain.com

www.mydomain.com/video.php?id=3->es.mydomain.com/video.php?id=3

ユーザーの言語がフランス語の場合

www.mydomain.com and mydomain.com->fr.mydomain.com

www.mydomain.com/video.php?id=3->fr.mydomain.com/video.php?id=3

上記のいずれでもない場合

www.mydomain.com and mydomain.com->en.mydomain.com

www.mydomain.com/video.php?id=3->en.mydomain.com/video.php?id=3

どうすればそれを行うことができますか? また、これは適切な SEO でしょうか?

4

2 に答える 2

3

PHPで:

// check if the current domain is the generic one
$req_domain = $_SERVER['SERVER_NAME']; 
if ($req_domain == 'www.mydomain.com' || $req_domain == 'mydomain.com') {
  $subdomains = array ('fr' => 'fr.mydomain.com',
                       'es' => 'es.mydomain.com',
                       'en' => 'en.mydomain.com');


  // get the language from the session variable (if set), or use default
  $lang = 'en'; // default language
  if ( isset($_SESSION['idm']) && isset($subdomains[$_SESSION['idm']]) )
    $lang = $_SESSION['idm']; // selected language


  // redirect while maintaining the complete request URI
  header('Location: http://' . $domains[$lang] . $_SERVER['REQUEST_URI']);
  exit;
}
于 2012-04-28T22:04:28.433 に答える
0

検索エンジンから言語のバリエーションを隠す現在のセッションベースの方法よりもSEOに適しています。

わずかな変更の1つは、メインドメインでデフォルト言語(en)を維持することです。

最適に機能させるには:

クリックするたびにリダイレクトが発生しないように、ページ上のリンクが相対的であることを確認してください。

ページにhreflangメタデータを追加して、翻訳の場所を示します。

人々を言語に強制しないでください。それらが簡単に変更できることを確認してください。

于 2012-04-29T02:38:58.617 に答える