Maison  >  Article  >  Tutoriel CMS  >  Comment dedecms configure le multisite Apache

Comment dedecms configure le multisite Apache

angryTom
angryTomoriginal
2019-07-20 09:18:482351parcourir

Comment dedecms configure le multisite Apache

Tutoriels recommandés : Tutoriel DEDECMS

Connaissances préliminaires :

Pour faire simple, le paramétrage multi-site de DreamWeaver consiste à utiliser un répertoire du site web comme répertoire racine d'un nom de domaine. Il existe deux situations :

La première consiste à utiliser la colonne de premier niveau comme répertoire racine du nom de domaine de deuxième niveau, puis les sous-colonnes sous la colonne de premier niveau doivent être sous le répertoire de colonnes de premier niveau ;

La seconde consiste à utiliser le répertoire sans colonne comme répertoire racine du nom de domaine de deuxième niveau, comme le site mobile m.xxx.com

Étapes de configuration

Première étape : activer la prise en charge multi-sites dans les paramètres système de base => Paramètres de base => , la capture d'écran est la suivante :

Comment dedecms configure le multisite Apache

Étape 2 : Définissez la colonne pour qu'elle soit liée au nom de domaine de deuxième niveau en tant que canal. Faites attention au répertoire dans lequel la colonne est enregistrée. Il est généralement défini sur un répertoire de premier niveau. Par exemple, j'ai défini le répertoire racine ici. Remarque : Le chemin de sauvegarde de la sous-colonne doit être sous ce répertoire. La capture d'écran est la suivante :

Comment dedecms configure le multisite Apache

Étape. 3 : Basculez Allez dans l'onglet Avancé, activez le nom de domaine de deuxième niveau et définissez le nom de domaine de deuxième niveau correspondant

Comment dedecms configure le multisite Apache

Étape 4 : Configuration du nom de domaine de niveau 2, en prenant Western Digital comme exemple, la capture d'écran est la suivante :

Comment dedecms configure le multisite Apache

Après avoir entré, cliquez sur Ajoutez

Comment dedecms configure le multisite Apache

Par exemple, pour le répertoire heli que j'ai créé ci-dessus, il me suffit de lier le nom de domaine au répertoire heli. Autrement dit, cliquez sur Directory Select et recherchez le répertoire heli

Étape 5 : Modifiez le fichier programme dans la fonction /include/helpers/channelunit.helper.php, modifiez la ligne 73 : function GetFileUrl

if($moresite==1)
    {
	$articleUrl = preg_replace("/^".$sitepath.'/', '', $articleUrl);
    }

Remplacez la barre oblique / par un point-virgule dans l'expression régulière du chemin et modifiez-la comme suit :

if($moresite==1)
{
	$articleUrl = preg_replace("'^".$sitepath."'",'',$articleUrl);
}

Modifiez de même le programme autour de la ligne 260 :

if($GLOBALS['cfg_multi_site']=='Y')
{
    if($siteurl=='') {
    $siteurl = $GLOBALS['cfg_basehost'];
        }
    if($moresite==1 ) {
    $reurl = preg_replace("/^".$sitepath."/", '', $reurl);

Modifiez la dernière phrase du code ci-dessus en :

$reurl  = preg_replace("'^".$sitepath."'",'', $reurl);

Après cette modification, le chemin correct du fichier du nom de domaine de deuxième niveau peut être généré.

La dernière étape : étant donné que les chemins absolus seront activés après l'activation du multisite, il y aura des problèmes avec les chemins d'image à l'intérieur, vous devrez donc modifier le fichier. comme suit :

Rechercher

ligne 108 includedialogselect_images_post.php

$fileurl = $activepath.'/'.$filename;

Remplacer par :

$fileurl = $cfg_cmsurl.$activepath.'/'.$filename;

Modifier le fichier

dans le répertoire include et ajouter une méthode fonction extend.func.php

function replaceurl($newurl) { 
    $newurl=str_replace('src="/uploads/','src="'.{$GLOBALS['cfg_basehost']}.'/uploads/',$newurl); 
    return $newurl;
  }
à la fin

De plus, appelez la balise

du contenu du corps de l'article et remplacez-la par : {dede:field.body/}{dede:field.body function='replaceurl(@me)'/}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn