2013-04-21 4 views
0

Мой вопрос заключается в том, как добавить название страны в codeigniter url?Название страны в codeigniter url

Допустим, мой сайт http://mywebsite.com, и я открываю веб-сайт из Канады, поэтому мой url должен быть http://mywebsite.com/canada. Значение Я просто хочу добавить название страны в URL-адрес, ничего не изменится, кроме этого. Я читал о маршрутах когнитивного языка, я искал его, но все напрасно.

Если у кого есть ключ, как это сделать, пожалуйста, дайте мне знать.

+0

Какова цель этого, если вы не используете отдельный контент для разных стран? Вы должны объяснить немного больше. –

ответ

0

Я думаю, вы сделали бы это с IP-поиском, чтобы угадать страну на основе IP-адреса запроса ($ _SERVER ['REMOTE_ADDR']). Отображение IP-адреса в местоположении: pretty well documented. Как только у вас есть страна, переадресовывайтесь на правильный метод контроллера.

Что вы ищите?

0

Это похоже на код языка в url.

С моим решением вы можете поместить любой сегмент в свой uri и спрятать его в CI.

http://site.com/page.html будет равен http://site.com/canada/page.html и наоборот.

set_country_uri.php

//App location 
$ci_directory = '/ci/'; 

//countries 
$countries = array('canada','france'); 

//default country 
$country = 'canada'; 

foreach($countries as $c) 
{ 
    if(strpos($_SERVER['REQUEST_URI'], $ci_directory.$c)===0) 
    { 
     //Store country founded 
     $country = $c; 

     //Delete country from URI, codeigniter will don't know is exists ! 
     $_SERVER['REQUEST_URI'] = substr_replace($_SERVER['REQUEST_URI'], '', strpos($_SERVER['REQUEST_URI'], '/'.$c)+1, strlen($c)+1); 

     break; 
    } 
} 

//Add the country in URI, for site_url() function 
$assign_to_config['index_page'] = $country."/"; 

//store country founded, to be able access it in your app 
define('COUNTRY', $country); 

index.php

<?php 

require('set_country_uri.php'); 

//ci code ... 

Так что в вашем использовании кода CI COUNTRY постоянного знать Wich используется. И сделайте свой код как маршрутизацию, не принимая во внимание страну в ури.

Смежные вопросы