2011-12-31 12 views
1

Drupal 7の現在のURLのサブドメインへのリンクを作成する適切な方法はありますか?Drupalの現在のURLのサブドメインにリンクする適切な方法

I.e.私がhttp://example.com/content123にいる場合、リンクはhttp://subdomain.example.com/content123を指しているので、現在のURLは維持され、サブドメインのみが追加されます。

+0

?リンクは、通常、クライアント側*の選択肢です。 PHPはどこにありますか? –

+0

That's unfortunate, since both of those observations are entirely needed to answer this question. ':|' –

答えて

2

ここでは2つの方法があります。最初に示した例では、ルートドメインにアクセスして新しいサブドメインを追加できます。 2番目の例では、現在のホストに新しいサブドメインを追加するだけです。

は、Drupalの中url()機能を見てください、現在のホストに

<?php 
$new_subdomain = 'subdomain'; 
echo $new_subdomain.'.'.$_SERVER['HTTP_HOST']; 
?> 
+0

あなたは正しい軌道に乗っていますが、それは各リンクのサーバー側で大量の処理です。短くて自然なものは何ですか? – timofey

+1

あなたは実際にサーバー上でもっと短いものが実際に簡単になると思いますか?コードの行数が少なくて済むため、処理が少なくなります。 drupalを実行している場合、私はいくつかのストリングコンカットで眠りを失うことはありません。 – Anthony

0

あなたが探しているものは、何かの.htaccessかこれに類するものです。この問題でPHPを使うのは方法ではないからです。

1

をサブドメインを追加ルートドメインに

<?php 
$new_subdomain = 'subdomain'; 
$split_domain = explode('.',$_SERVER['HTTP_HOST']); 
echo $new_subdomain.'.'.$split_domain[count($split_domain) - 2].'.'.$split_domain[count($split_domain) - 1]; 
?> 

をサブドメインを追加します。特定の言語でパスへのリンクを作成することができます。

'language':オプションの言語オブジェクト。リンク先のパスがサイトの内部にある場合、$ options ['language']はURLのエイリアスを検索するために使用されます。 $ options ['language']を省略すると、グローバル$ language_urlが使用されます。

+0

私に例を教えてもらえますか?私はリンクテキストを入力する方法を理解することができませんでした。私もl($ title、$ path、array( 'language' => 'de'))を試しましたが、idは何もしませんでした。 – timofey

+0

申し訳ありませんが、私は多言語のDrupalサイトを立ち上げて実行していません。私は1つの言語でしか試してみませんでしたが、期待どおりに普通のアドレスを取得しました。 –

0

代替言語のページを処理するための最も「適切な」方法が使用して、クライアント側である:

<link rel="alternate" hreflang="es" href="http://es.example.com/" /> 

を任意の近代的なブラウザは残りの部分を処理する必要があります。

私は、あなたがGoogle hreflang drupalの場合、Drupalがこれらを挿入します。

ここにある:どのような文脈では

http://drupal.org/node/1200030

関連する問題