| 
	ZenCart1.3 1.5系统,本身有多语言功能,但是多语言网站是在同一个域名下,通过URL动态参数切换的,这种方式针对目标客户体验不是很好,也不利于SEO。 
	本文介绍一种ZenCart的多语言绑定子目录方法,可以实现不同的子目录下不同的语言,并且切换语言时能准确定位到对应语言的URL。 
	希望可以对需要建多语言站的朋友有所帮助。 
	一、操作步骤 
	1. .htaccess 添加以下代码到 RewriteBase / 下,有其他语言代码请一并添加 
	RewriteRule ^(cn|es|en|fr|ru|it|de|ar)$ /$1/ [R=301,L] 
	RewriteRule ^(cn|es|en|fr|ru|it|de|ar)/$ index\.php [L] 
	2. 添加以下代码到includes/configure.php下 
	define('DIR_TO_LANGUAGE',TRUE); 
	if(DIR_TO_LANGUAGE===true){ 
	list(,$LANGUAGE_DIR,$LANGUAGE_URL) = explode('/',$_SERVER["REQUEST_URI"]); 
	$LANGUAGE_DIR = strtolower($LANGUAGE_DIR); 
	if($LANGUAGE_DIR=='')$LANGUAGE_DIR='en'; 
	define('LANGUAGE_DIR',$LANGUAGE_DIR); 
	if(isset($_REQUEST['main_page']) && strpos($_REQUEST['main_page'],'/')){ 
	$_REQUEST['main_page']=$_GET['main_page']=trim(str_replace($LANGUAGE_DIR.'/','',$_REQUEST['main_page']),'/'); 
	} 
	} 
	3. 添加以下代码到includes/init_includes/init_languages.php下 
	if(DIR_TO_LANGUAGE===true && !isset($_GET['language'])){ 
	if(LANGUAGE_DIR!=$_SESSION['languages_code']){ 
	if(!$lng) $lng = new language(); 
	if (array_key_exists($LANGUAGE_DIR,$lng->catalog_languages)) { 
	$lng->set_language($LANGUAGE_DIR); 
	$_SESSION['language'] = (zen_not_null($lng->language['directory']) ? $lng->language['directory'] : 'english'); 
	$_SESSION['languages_id'] = (zen_not_null($lng->language['id']) ? $lng->language['id'] : 1); 
	$_SESSION['languages_code'] = (zen_not_null($lng->language['code']) ? $lng->language['code'] : 'en'); 
	} 
	} 
	} 
	4. 添加以下代码到includes/functions/html_output.php 并将原文件中的function zen_href_link(修改为function zen_href_link_old( 
	/** 
	* 多语言绑定子目录重写zen_href_link方法 
	*/ 
	function zen_href_link($page = '', $parameters = '', $connection = 'NONSSL', $add_session_id = true, $search_engine_safe = true, $static = false, $use_dir_ws_catalog = true,$languages_code=null) { 
	$link = zen_href_link_old($page, $parameters, $connection, $add_session_id, $search_engine_safe, $static, $use_dir_ws_catalog); 
	if(DIR_TO_LANGUAGE===true && $languages_code!==false){ 
	if ( !(preg_match('/(.+)\.(html?|xml|css|js|png|jpe?g|gif|bmp|tiff?|ico|gz|zip|rar)$/i', $page)) ) { 
	//指定要切换语言时 
	/* 
	以下内容支持不同语言不同的URL 
	article_id 
	pages_id 
	products_id 
	cPath 
	manufacturers_id 
	pID 
	id=*/ 
	if(strpos($parameters,'language=')!==false &&(strpos($parameters,'id=')!==false||strpos($parameters,'pID=')!==false||strpos($parameters,'cPath=')!==false) ){ 
	$tmp = @explode('language=', $parameters); 
	$tmp = @explode('&', $tmp[1]); 
	$languages_code = $tmp[0]; 
	$sefu = explode(",", preg_replace( '/ +/', '', SEO_URLS_ONLY_IN )); 
	if((SEO_URLS_ONLY_IN!="") && !in_array($page,$sefu)) { 
	}else{ 
	if (!isset($GLOBALS['seo_urls_'.$code]) && !is_object($GLOBALS['seo_urls_'.$code])) { 
	if(!$GLOBALS['lng'] || !is_object($GLOBALS['lng'])) $GLOBALS['lng'] = new language(); 
	if (array_key_exists($languages_code,$GLOBALS['lng']->catalog_languages)) { 
	$GLOBALS['seo_urls_'.$languages_code] = &new SEO_URL($GLOBALS['lng']->catalog_languages[$languages_code]['id']); 
	} 
	} 
	if($GLOBALS['seo_urls_'.$languages_code]){ 
	$link = $GLOBALS['seo_urls_'.$languages_code]->href_link($page, $parameters, $connection, $add_session_id, $static, $use_dir_ws_catalog); 
	} 
	} 
	} 
	//EOF 
	if($languages_code===null){ 
	$languages_code = $_SESSION['languages_code']; 
	} 
	if ($connection == 'NONSSL') { 
	$base_link = HTTP_SERVER; 
	} elseif ($connection == 'SSL') { 
	if (ENABLE_SSL == 'true') { 
	$base_link = HTTPS_SERVER ; 
	} else { 
	$base_link = HTTP_SERVER; 
	} 
	} 
	$link = str_replace($base_link,$base_link.'/'.$languages_code,$link); 
	} 
	} 
	return $link; 
	} 
	二、其他 
	1. 自动识别浏览器语言 
	如果需要针对特定的浏览器客户访问,自动切换到指定语言访问可以在ZENCART后台开启“LANGUAGE_DEFAULT_SELECTOR”参数,或者使用.htaccess 里的语言识别代码: 
	RewriteCond %{HTTP:Accept-Language} ^zh.*$ [NC] 
	RewriteRule ^/?$  /zh/ [R=301,L] 
	RewriteCond %{HTTP:Accept-Language} ^en.*$ [NC] 
	RewriteRule ^/?$  /en/ [R=301,L] 
	RewriteCond %{HTTP:Accept-Language} ^ch.*$ [NC] 
	RewriteRule ^/?$  /cht/ [R=301,L] 
	到这里,多语言绑定到子目录方式已经设定完毕。 
	2. 前台效果 
	当客户访问: 
	http://www.最模板zuimoban.com/cn/brands1-c-15/ 
	http://www.最模板zuimoban.com/cn/lids-atlanta-hawks-snaback-hat-nwf6091-mitchell-ness-for-chea-p-34.html 
	时会自动切换为中文,并且此页面所有链接都是带/cn/目录的,对搜索引擎的收录非常有利。 
	访问: 
	http://www.最模板zuimoban.com/es/brands1-c-15/ 
	http://www.最模板zuimoban.com/es/taas-atlanta-hawks-snaback-hat-nwf6091-mitchell-ness-en-vuelos-p-34.html 
	时是西班牙语,注意URL文字已经是西班牙语的了。 
	访问: 
	http://www.最模板zuimoban.com/en/brands1-c-15/ 
	http://www.最模板zuimoban.com/brands1-c-15/ 
	则是默认英语。 
	三、关于多语言绑定子域名 
	使用子域名方式绑定语言同样可以参考上列代码。(责任编辑:最模板) | 



 ecshop手机数码模板|ecshop仿
							人气:627
							ecshop手机数码模板|ecshop仿
							人气:627
						 英文内衣外贸商城|ecshop英
							人气:448
							英文内衣外贸商城|ecshop英
							人气:448
						 黑色衣服鞋子外贸商城|
							人气:755
							黑色衣服鞋子外贸商城|
							人气:755
						 ecshop仿bianli100便利商城模
							人气:5637
							ecshop仿bianli100便利商城模
							人气:5637
						 Elantra外贸时尚服饰Magent
							人气:291
							Elantra外贸时尚服饰Magent
							人气:291
						 英文ecshop假发类外贸商城
							人气:1570
							英文ecshop假发类外贸商城
							人气:1570