ホームページ  >  記事  >  CMS チュートリアル  >  dedecms が Apache マルチサイトを構成する方法

dedecms が Apache マルチサイトを構成する方法

angryTom
angryTomオリジナル
2019-07-20 09:18:482444ブラウズ

dedecms が Apache マルチサイトを構成する方法

#推奨チュートリアル:

DECMS チュートリアル

# 暫定版知識:

簡単に言うと、DreamWeaver のマルチサイト設定では、Web サイト上のディレクトリをドメイン名のルート ディレクトリとして使用します。状況には 2 つあります:

1 つ目は、第 1 レベルの列を第 2 レベルのドメイン名のルート ディレクトリとして使用し、その後、第 1 レベルの列の下のサブ列が第 1 レベルの列ディレクトリの下にある必要があります。

## 2 つ目は、モバイル サイト m.xxx.com

# など、列以外のディレクトリを第 2 レベル ドメイン名のルート ディレクトリとして使用する方法です。

##設定手順


ステップ 1: [基本システム パラメータ] => [コア設定] => [コア設定] でマルチサイト サポートを有効にします。スクリーンショットは次のとおりです:

dedecms が Apache マルチサイトを構成する方法

ステップ 2: 第 2 レベルのドメイン名にバインドされる列を設定します。チャンネル. 列が保存されるディレクトリに注意してください. 通常は第 1 レベルのディレクトリに設定されます. たとえば、ここにルート ディレクトリを設定します. 以下のヘリ.注: サブ列の保存パスは、このディレクトリの下にある必要があります。スクリーンショットは次のとおりです:

dedecms が Apache マルチサイトを構成する方法

Step 3: [詳細設定] タブに移動し、第 2 レベルのドメイン名をアクティブにし、対応する第 2 レベルのドメイン名を設定します。

dedecms が Apache マルチサイトを構成する方法

ステップ 4: Western Digital を例として、2 レベルのドメイン名を設定します。スクリーンショットは次のとおりです。

入力後、クリックします。 Adddedecms が Apache マルチサイトを構成する方法

## たとえば、上で設定した heli ディレクトリでは、ドメイン名を heli ディレクトリにバインドするだけで済みます。つまり、[ディレクトリの選択] をクリックして、heli ディレクトリ

dedecms が Apache マルチサイトを構成する方法

を見つけます。 ステップ 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。