• [eZ publish] multi sub domain with multi language in eZ publish


    Let say we have one main domain, andfour sub domain, also, we have to develop them all to French andEnglish. The structure as below:

    main      www.example.com

      child_one  child_one.example.com

      child_two  child_two.example.com

      child_three  child_three.example.com

      child_four  child_four.example.com

     

    Sine then, multi sub domain with multilanguage, so we will build 8 siteaccess.

     

     

    1. Prepare for the environment of the server

    1.1 Modify the host file.

    127.0.0.1 example.com
    127.0.0.1 child_one.example.com
    127.0.0.1 child_two.example.com
    127.0.0.1 child_three.example.com
    127.0.0.1 child_four.example.com

     

    1.2 Modify the httpd.conf of the apache to set upthe virtual host

    代码
    <VirtualHost *:80>
    <Directory
    "/var/www/example">
    Options FollowSymLinks
    AllowOverride all
    Allow from all
    <
    /Directory>

    <IfModule mod_php5.c
    >
    php_admin_flag safe_mode Off
    php_admin_value register_globals
    0
    php_value magic_quotes_gpc
    0
    php_value magic_quotes_runtime
    0
    php_valueallow_call_time_pass_reference
    0
    <
    /IfModule>

    DirectoryIndex index.php

    <IfModule mod_rewrite.c
    >
    RewriteEngine On
    RewriteRule content
    /treemenu/?/index_treemenu.php [L]
    Rewriterule ^
    /var/storage/.* - [L]
    Rewriterule ^
    /var/[^/]+/storage/.* -[L]
    RewriteRule ^
    /var/cache/texttoimage/.*- [L]
    RewriteRule^
    /var/[^/]+/cache/texttoimage/.* - [L]
    RewriteRule^
    /var/[^/]+/cache/public/.* - [L]
    Rewriterule^
    /design/[^/]+/(stylesheets|images|javascript)/.* - [L]
    Rewriterule ^
    /share/icons/.* - [L]
    Rewriterule^
    /extension/[^/]+/design/[^/]+/(stylesheets|images|flash|javascripts?)/.*- [L]
    Rewriterule^
    /packages/styles/.+/(stylesheets|images|javascript)/[^/]+/.* - [L]
    RewriteRule^
    /packages/styles/.+/thumbnail/.* - [L]
    RewriteRule ^
    /favicon\.ico - [L]
    RewriteRule ^
    /robots\.txt - [L]
    # Uncomment the following lines whenusing popup style debug.
    #
    RewriteRule^/var/cache/debug\.html.* - [L]
    #
    RewriteRule^/var/[^/]+/cache/debug\.html.* - [L]
    RewriteRule .* /index.php
    <
    /IfModule>

    DocumentRoot
    "/var/www/example"
    ServerName example.com
    ServerAlias example.comchild_one.example.com child_two.example.com child_three.example.comchild_four.example.com
    <
    /VirtualHost>

    Note: After modifying the httpd.conffile, remember to restart the apache!

     

     

    2. Set the settings of eZ publish

    2.1 Create and set the global settings

    In the direciton settings/override,create a file “site.ini.append.php”, here is an example ofsettings

    代码
    <?php /* #?ini charset="utf-8"?

    [DatabaseSettings]
    DatabaseImplementation
    =ezmysqli
    Server
    =127.0.0.1
    Port
    =
    User
    =root
    Password
    =
    Database
    =example
    Charset
    =
    Socket
    =disabled

    [ExtensionSettings]
    ActiveExtensions[]
    =example
    ActiveExtensions[]
    =ezie
    ActiveExtensions[]
    =ezoe
    ActiveExtensions[]
    =ezodf
    ActiveExtensions[]
    =zz_developer
    ActiveExtensions[]
    =ezjscore
    ActiveExtensions[]
    =ezfind
    ActiveExtensions[]
    =customsurvey
    ActiveExtensions[]
    =ezgoogleanalytics
    ActiveExtensions[]
    =ezscriptmonitor
    ActiveExtensions[]
    =ezsurvey
    ActiveExtensions[]
    =recaptcha
    ActiveExtensions[]
    =swark
    ActiveExtensions[]
    =ezsiteaccessoperator

    [Session]
    SessionNameHandler
    =custom

    [SiteSettings]
    SiteName
    =example
    DefaultAccess
    =main_fre
    SiteList[]
    =main_fre
    SiteList[]
    =main_eng
    SiteList[]
    =child_one_fre
    SiteList[]
    =child_one_eng
    SiteList[]
    =child_two_fre
    SiteList[]
    =child_two_eng
    SiteList[]
    =child_three_fre
    SiteList[]
    =child_three_eng
    SiteList[]
    =child_four_fre
    SiteList[]
    =example_admin

    [FileSettings]
    VarDir
    =var/example

    [SiteAccessSettings]
    CheckValidity
    =false
    AvailableSiteAccessList[]
    =main_fre
    AvailableSiteAccessList[]
    =main_eng
    AvailableSiteAccessList[]
    =child_one_fre
    AvailableSiteAccessList[]
    =child_one_eng
    AvailableSiteAccessList[]
    =child_two_fre
    AvailableSiteAccessList[]
    =child_two_eng
    AvailableSiteAccessList[]
    =child_three_fre
    AvailableSiteAccessList[]
    =child_three_eng
    AvailableSiteAccessList[]
    =child_four_fre
    AvailableSiteAccessList[]
    =child_four_eng
    AvailableSiteAccessList[]
    =example_admin
    ForceVirtualHost
    =true
    RemoveSiteAccessIfDefaultAccess
    =enabled

    RequireUserLogin
    =false
    RelatedSiteAccessList[]
    =epam_fre
    RelatedSiteAccessList[]
    =epam_eng
    RelatedSiteAccessList[]
    =pro_fre
    RelatedSiteAccessList[]
    =pro_eng
    RelatedSiteAccessList[]
    =public_fre
    RelatedSiteAccessList[]
    =public_eng
    RelatedSiteAccessList[]
    =projects_fre
    RelatedSiteAccessList[]
    =projects_eng
    RelatedSiteAccessList[]
    =extranet_fre
    RelatedSiteAccessList[]
    =extranet_eng
    RelatedSiteAccessList[]
    =epamarne_fre
    RelatedSiteAccessList[]
    =epamarne_eng
    RelatedSiteAccessList[]
    =epam_site_admin
    ShowHiddenNodes
    =false

    [DesignSettings]
    DesignLocationCache
    =disabled

    [MailSettings]
    Transport
    =SMTP
    TransportServer
    =
    TransportUser
    =
    TransportPassword
    =
    AdminEmail
    =david.li@bysoft.fr
    EmailSender
    =

    [TemplateSettings]
    TemplateCache
    =disabled
    TemplateCompile
    =disabled
    TemplateOptimization
    =disabled
    TemplateCompression
    =disabled
    DevelopmentMode
    =enabled

    [ContentSettings]
    ViewCaching
    =disabled
    StaticCache
    =disabled

    [OverrideSettings]
    Cache
    =disabled

    [RegionalSettings]
    TranslationCache
    =disabled

    [RoleSettings]
    UserPolicyCache
    =disabled
    EnableCaching
    =false

    [RSSSettings]
    CacheTime
    =0
    */ ?>

     

    2.2 Create all the sub domainsiteaccess

    In the direction settings/siteaccess,webuild 10 folders as

    main_fre

    main_eng

    child_one_fre

    child_one_eng

    child_two_fre

    child_two_eng

    child_three_fre

    child_three_eng

    child_four_fre

    child_four_eng

    Basicly, under all the folders, thereis a “site.ini.append.php”, the common content of XXX_fre as:

    代码
    <?php /* #?ini charset="utf-8"?

    [SiteSettings]
    LoginPage=embedded

    [UserSettings]
    RegistrationEmail=

    [DesignSettings]
    SiteDesign=epam
    AdditionalSiteDesignList[]=base

    [RegionalSettings]
    Locale=fre-FR
    ContentObjectLocale=fre-FR
    SiteLanguageList[]=eng-GB
    SiteLanguageList[]=fre-FR
    TextTranslation=enabled

    [ContentSettings]
    TranslationList=eng-GB

    [DebugSettings]
    DebugOutput=enabled
    DebugRedirection=disabled

    [TemplateSettings]
    Debug=disabled
    ShowXHTMLCode=disabled
    ShowUsedTemplates=enabled

    [DatabaseSettings]
    SQLOutput=disabled
    */ ?>

    Of course, there is another folder“example_admin” which is used for the admin, we don't payattention to it here.

     

    2.3 Develop a extension for the developers

    Build the zz_developer extension andlocate it under extension/zz_developer, the structure as below:

    代码
    | | |~zz_developer/
    | | | `~settings/
    | | | |~siteaccess/
    | | | | |~main_eng/
    | | | | | `-site.ini.append.php*
    | | | | |~main_fre/
    | | | | | `-site.ini.append.php*
    | | | | |~example_admin/
    | | | | | `-site.ini.append.php*
    | | | | |~child_one_eng/
    | | | | | `-site.ini.append.php*
    | | | | |~child_one_fre/
    | | | | | `-site.ini.append.php*
    | | | | |~child_two_eng/
    | | | | | `-site.ini.append.php*
    | | | | |~child_two_fre/
    | | | | | `-site.ini.append.php*
    | | | | |~child_three_eng/
    | | | | | `-site.ini.append.php*
    | | | | |~child_three_fre/
    | | | | | `-site.ini.append.php*
    | | | | |~child_four_eng/
    | | | | | `-site.ini.append.php*
    | | | | |~child_four_fre/
    | | | | | `-site.ini.append.php*
    | | | `-site.ini.append.php*

     

    In thezz_developer/site.ini.append.php, we have the code:

    代码
    <?php /* #?ini charset="utf-8"?

    [SiteSettings]
    SiteURL=example.com

    [MailSettings]
    AdminEmail=david.li@bysoft.fr
    Transport=sendmail
    EmailSender=

    [SiteAccessSettings]
    MatchOrder=uri;host
    HostMatchMapItems[]=example.com;example_fre
    HostMatchMapItems[]=child_one.example.com;child_one_fre
    HostMatchMapItems[]=child_two.example.com;child_two_fre
    HostMatchMapItems[]=child_three.example.com;child_three_fre
    HostMatchMapItems[]=child_four.example.com;child_four_fre
    */ ?>

    In the main_fre/site.ini.append.php andmain_eng/site.ini.append.php, by default, we have nothing in it, butin the child_one_fre/site.ini.append.php,child_one_eng/site.ini.append.php, child_two_fre/site.ini.append.php,child_two_eng/site.ini.append.php,child_three_fre/site.ini.append.php,child_three_eng/site.ini.append.php,child_four_fre/site.ini.append.php,child_four_eng/site.ini.append.php, we have different content.

    For example, under thechild_one_XXX/site.ini.append.php, we have the code:

    <?php /* #?ini charset="utf-8"?

    [SiteSettings]
    #child_one sub domain
    IndexPage=/content/view/full/70/
    RootNodeDepth=2
    DefaultPage=/content/view/full/70/
    */ ?>

    Note: Remember to change the node id toyour sub domain.

     

     

    Ok, now we have builded the multi subdomain with multi language yet.

     

     

     

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    你会卖掉自己的网上信息吗?大数据可能根本不属于你
    机器学习——TensorFLow实战房价预测
    数据库运作实践三三之歌(秘制口诀)
    1000行MySQL学习笔记,收藏版!
    吐血整理深度学习入门路线及导航【教学视频+大神博客+书籍整理】+【资源页】(2019年已经最后一个月了,你还不学深度学习吗???)
    Ubuntu Snap 简述
    参数传递
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/1873407.html
Copyright © 2020-2023  润新知