Jump to content

raul

Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by raul

  1. Con este código logro hacer una redireccion desde el dominio.us al dominio.cl pero por lo que mire es una simple redireccion por dominio de defecto y no esta detectando la ip del país porque al tratar de entrar al dominio.us con ip de usa me envia de igual forma al dominio.cl include_once(_PS_GEOIP_DIR_.'geoipcity.inc'); $gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD); $record = geoip_record_by_addr($gi, Tools::getRemoteAddr()); $dominiourl =$_SERVER['SERVER_NAME']; switch ($pais) { case 'CL': if ($dominiourl != 'dominio.cl' || $dominiourl == 'dominio.us') header("Location: https://dominio.cl".$URL_P.""); break; case 'US': if ($dominiourl != 'dominio.us' || $dominiourl == 'dominio.cl') header("Location: https://dominio.us".$URL_P.""); break; default : if ($dominiourl != 'dominio.cl' || $dominiourl == 'dominio.us') header("Location: https://dominio.cl".$URL_P.""); break; }
  2. Encontré este código en la red pero no se si esta bien o donde colocarlo probé en FrontController.php en los lugares mencionados en este tema pero lo máximo que logre fue una redireccion desde el dominio.us al domio.cl pero al tratar de entrar al dominio.us con ip de usa de igual forma me envia al dominio.cl el código es este. public function hookDisplayHeader() { $this->redirect(); } public function redirect(){ include_once(_PS_GEOIP_DIR_.'geoipcity.inc'); $gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD); $records = geoip_record_by_addr($gi, Tools::getRemoteAddr()); $URL_P = $_SERVER['REQUEST_URI']; $pais = $records->country_code; //comprobamos el pais y añadimos toda EU en una sola variable CE o EU if ($pais == 'AD' | $pais == 'AT' | $pais == 'BE' | $pais == 'BG' | $pais == 'HR' | $pais == 'CY' | $pais == 'CZ' | $pais == 'DK' | $pais == 'EE' | $pais == 'FI' | $pais == 'FR' | $pais == 'DE' | $pais == 'GR' | $pais == 'HU' | $pais == 'IS' | $pais == 'IE' | $pais == 'IT' | $pais == 'LT' | $pais == 'LU' | $pais == 'MT' | $pais == 'NL' | $pais == 'NO' | $pais == 'PL' | $pais == 'RO' | $pais == 'SK' | $pais == 'SI' | $pais == 'SE' | $pais == 'CH' | $pais == 'TR' ){ $pais = 'CE'; } // Comprobamos que el usuario que ha conectado no un un "agente" o bot, de esta manera no vamos a redirigir a // a los bots de google googlebot|AdsBot-Google|Googlebot-Image|Googlebot-News|Google-Structured-Data-Testing-Tool|pagespeed|insights| // ni a otros bots conocidos, en esta lista solo hay algunos if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/BotLink|ahoy|AlkalineBOT|anthill|appie|arale|araneo|AraybOt|ariadne|arks|ATN_Worldwide|Atomz |bbot|Bjaaland|Ukonline|borg\-bot\/0\.9|boxseabot|bspider|calif|christcrawler|CMC\/0\.01|combine|confuzzledbot|CoolBot|cosmos| Internet Cruiser Robot|cusco|cyberspyder|cydralspider|desertrealm, desert realm|digger|DIIbot|grabber|downloadexpress|DragonBot| dwcp|ecollector|ebiness|elfinbot|esculapio|esther|fastcrawler|FDSE|FELIX IDE|ESI|fido|H�m�h�kki|KIT\-Fireball|fouineur|Freecrawl| gammaSpider|gazz|gcreep|golem|googlebot|AdsBot-Google|Googlebot-Image|Googlebot-News|Google-Structured-Data-Testing-Tool|pagespeed|insights|griffon|Gromit|gulliver|gulper|hambot|havIndex|hotwired|htdig|iajabot|INGRID\/0\.1|Informant| InfoSpiders|inspectorwww|irobot|Iron33|JBot|jcrawler|Teoma|Jeeves|jobo|image\.kapsi\.net|KDD\-Explorer|ko_yappo_robot|label\-grabber| larbin|legs|Linkidator|linkwalker|Lockon|logo_gif_crawler|marvin|mattie|mediafox|MerzScope|NEC\-MeshExplorer|MindCrawler|udmsearch|moget| Motor|msnbot|muncher|muninn|MuscatFerret|MwdSearch|sharp\-info\-agent|WebMechanic|NetScoop|newscan\-online|ObjectsSearch|Occam|Orbsearch\/1\.0| packrat|pageboy|ParaSite|patric|pegasus|perlcrawler|phpdig|piltdownman|Pimptrain|pjspider|PlumtreeWebAccessor|PortalBSpider|psbot|Getterrobo\-Plus| Raven|RHCS|RixBot|roadrunner|Robbie|robi|RoboCrawl|robofox|Scooter|Search\-AU|searchprocess|Senrigan|Shagseeker|sift|SimBot|Site Valet|skymob| SLCrawler\/2\.0|slurp|ESI|snooper|solbot|speedy|spider_monkey|SpiderBot\/1\.0|spiderline|nil|suke|http:\/\/www\.sygol\.com|tach_bw|TechBOT| templeton|titin|topiclink|UdmSearch|urlck|Valkyrie libwww\-perl|verticrawl|Victoria|void\-bot|Voyager|VWbot_K|crawlpaper|wapspider|WebBandit\/1\.0| webcatcher|T\-H\-U\-N\-D\-E\-R\-S\-T\-O\-N\-E|WebMoose|webquest|webreaper|webs|webspider|WebWalker|wget|winona|whowhere|wlm|WOLP|WWWC|none|XGET| Nederland\.zoek|AISearchBot|woriobot|NetSeer|Nutch/i', $_SERVER['HTTP_USER_AGENT'] ) ){ }else { // Si no es un Bot o agente conocido se redirigira segun el pais $dominiourl =$_SERVER['SERVER_NAME']; switch ($pais) { case 'ES': if ($dominiourl != 'dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'uk.dominio.com' || $dominiourl == 'usa.dominio.com') header("Location: https://dominio.com".$URL_P.""); break; case 'PT': if ($dominiourl != 'dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'uk.dominio.com || $dominiourl == 'usa.dominio.com') header("Location: https://dominio.com".$URL_P.""); break; case 'CE' : if ($dominiourl != 'ce.dominio.com' || $dominiourl == 'uk.dominio.com' || $dominiourl == 'usa.dominio.com' || $dominiourl == 'dominio.com') header("Location: https://ce.dominio.com".$URL_P.""); break; case 'US': if ($dominiourl != 'usa.dominio.com' || $dominiourl == 'uk.dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'dominio.com') header("Location: https://usa.dominio.com".$URL_P.""); break; case 'GB' : if ($dominiourl != 'uk.dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'usa.dominio.com' || $dominiourl == 'dominio.com') header("Location: https://uk.dominio.com".$URL_P.""); break; case 'AU': if ($dominiourl != 'usa.dominio.com' || $dominiourl == 'uk.dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'dominio.com') header("Location: https://usa.dominio.com".$URL_P.""); break; default : if ($dominiourl != 'usa.dominio.com' || $dominiourl == 'uk.dominio.com' || $dominiourl == 'ce.dominio.com' || $dominiourl == 'dominio.com') header("Location: https://usa.dominio.com".$URL_P.""); break; } } } Tengo 2 días ya tratando de buscarle una solución funcional para poder usar multitienda por país agregando una redireccion usando geolocalizacion geoip que trae por defecto
  3. Hola tengo el mismo problema como quedaría el código final por favor Con este código se que es la base pero pasa esto include_once(_PS_GEOIP_DIR_.'geoipcity.inc'); $gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD); $record = geoip_record_by_addr($gi, Tools::getRemoteAddr()); switch($record->country_code){ case 'CL' : header('Location: https://dominio.cl/'); break; case 'US' : header('Location: https://dominio.us/'); break; default: break; } La idea es que si son de Chile los envie al dominio para Chile y si son de Usa que los envie al dominio de Usa si no son de ninguno de esos países los deje en la tienda que este, pueden ver la pagina pero como catalogo sin poder comprar solo me falta es esta redirección no quiero meterme con el archivo htaccess
×
×
  • Create New...