ホームページ > 記事 > CMS チュートリアル > dedecms が Apache マルチサイトを構成する方法
# 暫定版知識:
簡単に言うと、DreamWeaver のマルチサイト設定では、Web サイト上のディレクトリをドメイン名のルート ディレクトリとして使用します。状況には 2 つあります:
1 つ目は、第 1 レベルの列を第 2 レベルのドメイン名のルート ディレクトリとして使用し、その後、第 1 レベルの列の下のサブ列が第 1 レベルの列ディレクトリの下にある必要があります。
## 2 つ目は、モバイル サイト m.xxx.com# など、列以外のディレクトリを第 2 レベル ドメイン名のルート ディレクトリとして使用する方法です。
##設定手順
ステップ 2: 第 2 レベルのドメイン名にバインドされる列を設定します。チャンネル. 列が保存されるディレクトリに注意してください. 通常は第 1 レベルのディレクトリに設定されます. たとえば、ここにルート ディレクトリを設定します. 以下のヘリ.注: サブ列の保存パスは、このディレクトリの下にある必要があります。スクリーンショットは次のとおりです:
Step 3: [詳細設定] タブに移動し、第 2 レベルのドメイン名をアクティブにし、対応する第 2 レベルのドメイン名を設定します。
ステップ 4: Western Digital を例として、2 レベルのドメイン名を設定します。スクリーンショットは次のとおりです。
入力後、クリックします。 Add
## たとえば、上で設定した heli ディレクトリでは、ドメイン名を heli ディレクトリにバインドするだけで済みます。つまり、[ディレクトリの選択] をクリックして、heli ディレクトリを見つけます。 ステップ 5: プログラム ファイル
/include/helpers/channelunit.helper.php# を変更します。 # #;関数 function GetFileUrl で、行 73 を変更します: if($moresite==1)
{
$articleUrl = preg_replace("/^".$sitepath.'/', '', $articleUrl);
}
パスの正規表現で、スラッシュ / をセミコロンに置き換えます。変更内容は次のとおりです。以下のように:
if($moresite==1)
{
$articleUrl = preg_replace("'^".$sitepath."'",'',$articleUrl);
}
同様に、260 行目あたりのプログラムを変更します。
if($GLOBALS['cfg_multi_site']=='Y') { if($siteurl=='') { $siteurl = $GLOBALS['cfg_basehost']; } if($moresite==1 ) { $reurl = preg_replace("/^".$sitepath."/", '', $reurl);上記のコードの最後の文を次のように変更します。
$reurl = preg_replace("'^".$sitepath."'",'', $reurl);この変更後、次のように生成できます。正しい 2 番目のコード レベルのドメイン名のファイル パス。 最後のステップ: マルチサイトを有効にした後は絶対パスが有効になるため、内部の画像パスに問題が発生するため、ファイルを変更する必要があります。次のように:
\include\dialog\select_images_post.php を検索 108 行目
$fileurl = $activepath.'/'.$filename;に置き換えます:
$fileurl = $cfg_cmsurl.$activepath.'/'.$filename;
変更ディレクトリ内のファイルに
extend .func.php を追加し、最後に function メソッドを追加します function replaceurl($newurl) { $newurl=str_replace('src="/uploads/','src="'.{$GLOBALS['cfg_basehost']}.'/uploads/',$newurl); return $newurl; }さらに、記事本文のコンテンツのタグを
{dede:field と呼びます.body/} を次のように置き換えます:
{ dede:field.body function='replaceurl(@me)'/}
以上がdedecms が Apache マルチサイトを構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。