Forums / Setup & design / multiple multi-lingual site with host access method?

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.

eZ debug

Timing: Jan 18 2025 05:14:46
Script start
Timing: Jan 18 2025 05:14:46
Module start 'content'
Timing: Jan 18 2025 05:14:47
Module end 'content'
Timing: Jan 18 2025 05:14:47
Script end

Main resources:

Total runtime1.2174 sec
Peak memory usage4,096.0000 KB
Database Queries209

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0068 589.0547180.8125
Module start 'content' 0.00681.0513 769.8672701.5938
Module end 'content' 1.05810.1593 1,471.4609341.0547
Script end 1.2174  1,812.5156 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00400.3263210.0002
Check MTime0.00140.1161210.0001
Mysql Total
Database connection0.00050.044410.0005
Mysqli_queries1.133893.13392090.0054
Looping result0.00270.21892070.0000
Template Total1.189797.720.5948
Template load0.00250.205420.0013
Template processing1.187297.514820.5936
Template load and register function0.00020.015110.0002
states
state_id_array0.00090.075810.0009
state_identifier_array0.00140.114620.0007
Override
Cache load0.00200.1613390.0001
Sytem overhead
Fetch class attribute can translate value0.00150.123860.0003
Fetch class attribute name0.00120.096490.0001
XML
Image XML parsing0.00250.203160.0004
class_abstraction
Instantiating content class attribute0.00000.0034100.0000
General
dbfile0.00340.2756410.0001
String conversion0.00000.000830.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

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
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 23
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs