multiple multi-lingual site with host access method?

Author Message

raphael bauduin

Wednesday 16 July 2008 1:09:55 am

Hi,

I want to host multiple websites with the host access method, in which the hostname is mapped to a site access.

But each language of a website is also a siteaccess (at least in the uri acces method).

How can I combine both?

HEre's an example:

Let's say I have 2 multilingual (fr, en) websites (www.raphinou.com and www.profoss.eu) I want to host in one ez publish installation. I will then use 2 hostnames (www.raphinou.com and www.profoss.eu) and 4 site accesses (profoss-fr, profoss-en, raphinou-fr, raphinou-en)) right? But then have 2 site accesses to map to one host.

Is it possible to achieve what I want?

Thanks

Raphaƫl

Ivo Lukac

Wednesday 16 July 2008 9:01:55 am

Hi raphael,

This question pops up every year but I'm afraid that the answer is the same. You can't mix hostname and uri siteaccess matching.

Easy alternative solution is to use hostname matching and for multilanguage use subdomains ( for example en.raphinou.com, fr.raphinou.com).

There is one more solution which is very ugly. You need to have to virtual dirs for every domain and then link everything on filesystem except settings dir.
Very, very ugly .

Hope to see some better solutions in the near future...

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

michiel n.

Thursday 17 July 2008 5:45:13 am

I haven't tried this yet: but what about some apache rewriterules + regexpmatching? Would that make it possible?

Certified eZ developer looking for projects.
michieln at gmail dot com
http://ez.no/certification/verify/225305

Steven E. Bailey

Thursday 17 July 2008 6:26:16 am

This is how we've solved it:

http://ez.no/developer/forum/developer/running_two_multilingual_sites_on_a_single_ezp_installation

It does require adding a few lines to access.php and lib/ezutils/classes/ezsys.php

specifically, to access.php:

                else if ( $match_type == 'element' )
                {
                    $match_index = $ini->variable( 'SiteAccessSettings', 'URIMatchElement' );
                    $elements = $uri->elements( false );
                    $elements = array_slice( $elements, 0, $match_index );
                    $name = implode( '_', $elements );

 //start Contactivity multilingual hack
                    $hostname=explode(".",$host);
                    $hostname=explode(":",$hostname[0]);
                    $language=implode( '_', $elements );
                    if (!$language)
                        $language="en";
                    $name=$hostname[0]."_".$language;
//end Contactivity multilingual hack

                }

to ezsys.php:

    static function addAccessPath( $path )
    {
        $instance = eZSys::instance();
        if ( !is_array( $path ) )
            $path = array( $path );

//start multilingual Contactivity hack
        $modified_path=explode("_",implode(",",$path));
        $path=array($modified_path[1]);
//end multilingual Contactivity hack

        $instance->AccessPath = array_merge( $instance->AccessPath, $path );
    }

Certified eZPublish developer
http://ez.no/certification/verify/396111

Available for ezpublish troubleshooting, hosting and custom extension development: http://www.leidentech.com

Ivo Lukac

Thursday 17 July 2008 6:30:40 am

Maybe, I am not an expert for rewrite rules :/

Idea would be to map www.foo.com/bar <i>internally</i> at apache level to bar.foo.com. Don't know is it possible.

Of course you can do it externally just like a redirect of some kind but that would not be very wise regarding search index bots.

http://www.linkedin.com/in/ivolukac
http://www.netgen.hr/eng/blog
http://twitter.com/ilukac

Wei Dai

Tuesday 06 October 2009 7:55:05 pm

Do you think you could just use 4 site access and two domains, with the two domains point to the same eZ Publish root? Thus, you can just use the uri match order.

Certified eZ Publish 4 developer looking for develop information & collaboration.

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 18 2025 11:41:18
Script start
Timing: Jan 18 2025 11:41:18
Module start 'layout'
Timing: Jan 18 2025 11:41:18
Module start 'content'
Timing: Jan 18 2025 11:41:19
Module end 'content'
Timing: Jan 18 2025 11:41:19
Script end

Main resources:

Total runtime1.1370 sec
Peak memory usage4,096.0000 KB
Database Queries72

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0051 588.1563152.6563
Module start 'layout' 0.00510.0036 740.812539.4922
Module start 'content' 0.00861.1269 780.3047696.4844
Module end 'content' 1.13550.0015 1,476.789116.1250
Script end 1.1370  1,492.9141 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00320.2819160.0002
Check MTime0.00130.1143160.0001
Mysql Total
Database connection0.00070.061910.0007
Mysqli_queries1.068393.9518720.0148
Looping result0.00090.0781700.0000
Template Total1.106697.320.5533
Template load0.00190.165720.0009
Template processing1.104797.156420.5524
Template load and register function0.00020.017010.0002
states
state_id_array0.00070.062010.0007
state_identifier_array0.00090.077120.0004
Override
Cache load0.00170.1496390.0000
Sytem overhead
Fetch class attribute can translate value0.00070.058450.0001
Fetch class attribute name0.00150.130490.0002
XML
Image XML parsing0.00230.201950.0005
class_abstraction
Instantiating content class attribute0.00000.0020100.0000
General
dbfile0.00170.1511300.0001
String conversion0.00000.000940.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
8content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
4content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
1content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
2content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_pagelayout.tplEdit templateOverride template
 Number of times templates used: 23
 Number of unique templates used: 7

Time used to render debug report: 0.0001 secs