Home > CMS Tutorial > DEDECMS > How dedecms configures Apache multisite

How dedecms configures Apache multisite

angryTom
Release: 2019-07-20 09:18:48
Original
2481 people have browsed it

How dedecms configures Apache multisite

Recommended tutorial: DEDECMS tutorial

## Preliminary knowledge:

To put it simply, the DreamWeaver multi-site setting is to use a directory on the website as the root directory of a domain name. There are two situations:

The first is to use the first-level column as the root directory of the second-level domain name, then the sub-columns under the first-level column must be under the first-level column directory;

The second is to use the non-column directory as the root directory of the second-level domain name, such as the mobile site m.xxx.com

Setting steps

Step 1: Enable multi-site support in Basic System Parameters => Core Settings => The screenshot is as follows:

How dedecms configures Apache multisite

Step 2: Set the column to be bound to the second-level domain name as a channel. Pay attention to the directory where the column is saved. It is generally set to the first-level directory. For example, I set the root directory here. Heli below. Note: The saving path of the sub-column must be under this directory. The screenshot is as follows:

How dedecms configures Apache multisite

Step 3: Switch Go to the Advanced tab, activate the second-level domain name, and set the corresponding second-level domain name

How dedecms configures Apache multisite

Step 4: Setup 2 Level domain name, taking Western Digital as an example, the screenshot is as follows:

How dedecms configures Apache multisite

After entering, click Add

How dedecms configures Apache multisite ## For example, the heli directory I set up above only needs to bind the domain name to the heli directory. That is, click Directory Select and find the heli directory

Step 5: Modify the program file /include/helpers/channelunit.helper.php;In function function GetFileUrl, modify line 73:

if($moresite==1)
    {
	$articleUrl = preg_replace("/^".$sitepath.'/', '', $articleUrl);
    }
Copy after login
In the path regular expression, replace the slash / with a semicolon', and the modification is as follows :

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

Similarly, modify the program around line 260:

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

Modify the last sentence of the code above to:

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

After this modification, you can generate the correct second code Level domain name file path.

The last step: Because absolute paths will be enabled after turning on multi-site, there will be problems with the image paths inside, so you need to modify the file. The steps are as follows: Find

\include\dialog\select_images_post.php

Line 108 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">$fileurl = $activepath.&amp;#39;/&amp;#39;.$filename;</pre><div class="contentsignin">Copy after login</div></div> Replace with:

$fileurl = $cfg_cmsurl.$activepath.&#39;/&#39;.$filename;
Copy after login

Modify the file in the directory include

extend .func.php

, add a function method at the end <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">function replaceurl($newurl) { $newurl=str_replace(&amp;#39;src=&quot;/uploads/&amp;#39;,&amp;#39;src=&quot;&amp;#39;.{$GLOBALS[&amp;#39;cfg_basehost&amp;#39;]}.&amp;#39;/uploads/&amp;#39;,$newurl); return $newurl; }</pre><div class="contentsignin">Copy after login</div></div> In addition, call the tag of the article body content </span></p>{dede:field.body/}<p> and replace it with: <code>{ dede:field.body function='replaceurl(@me)'/}

The above is the detailed content of How dedecms configures Apache multisite. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template