PHP многоязычный сайт и перезапись URL - PullRequest
0 голосов
/ 03 апреля 2012

Я просматриваю Интернет в течение трех дней, я новичок и не нахожу решения и объяснения своей проблемы, я решил спросить здесь :) Я бы задал глупый вопрос, поэтому прошу прощения за это.

Итак, я сделал двуязычный сайт: EN и EN с php. Тем не менее, я читаю статьи о SEO и не понимаю, как получить те знаменитые «виртуальные» папки, которые рекомендует Google.

В настоящее время у меня есть мой сайт на английском и французском языках, и оба отображаются так: mywebsite.fr/index.php Я бы хотел, чтобы большинство из нас отображало: mywebsite.fr/en/index.php или monsite.fr/index.php

Я пытался переписать URL, но каждый раз получаю ошибку 500. Я в настоящее время под местной MAMP.

Я оставляю вам свои фрагменты, которые я сделал, следуя инструкции.

Итак, моя страница lang.php:

<?php

if(isset($HTTP_COOKIE_VARS['lang'])) {
      $lang = $HTTP_COOKIE_VARS['lang'];
  } else {

      $lang = substr($HTTP_SERVER_VARS['HTTP_ACCEPT_LANGUAGE'],0,2);
  }

    if (isset($_POST['lang_select']))
    {
        if ($_POST['lang_select'] == 'fr')
        {
           $lang = 'fr';
           //include('lang/fr-lang.php');
        }
        elseif ($_POST['lang_select'] == 'en')
        {
           $lang = 'en';
           //include('lang/en-lang.php');
        }

    }

 if ($lang=='fr') {           
     include('lang/fr-lang.php');
 } elseif ($lang=='en') {     
     include('lang/en-lang.php');
 }

 $expire = 365*24*3600;

setcookie("lang", $lang, time() + $expire);

?>

моя страница для en-lang.php

<?php
//Menu
define ('menu','Menu');
define ('Home','Home');
define ('Services','Services');
define ('Products','Products');
define ('how_it_works','How It Works?');
define ('about','About Us');
define ('contact','Contact');

//CONTENT
define('HomePage','Home');
define('ProductsPage','Products');
define ('how_it_works_TITLE','How It Works?');
?>

моя страница для принятия решения-lang.php

<form method=post name="lang" class="form_lang">
               <select name="lang_select" onchange="document.lang.submit();">
                 <option label="Français" value="fr" <?php echo ($_POST['lang_select'] == 'fr'?'selected':'');?>>Français</option>
                 <option label="English" value="en" <?php echo ($_POST['lang_select'] == 'en'?'selected':'');?>>English</option>
               </select>
</form>

Я не знаю, как использовать значки вместо выпадающего списка, потому что это единственное найденное мной решение, которое работает для меня (может быть, я не сделал это правильно), тогда для URL это катастрофа, Я не понимаю, как применить этот метод с моим текущим сценарием.

Если щедрая душа сможет просветить меня в этих вопросах, я буду более чем благодарен! :)

Заранее спасибо и извините за мой плохой английский ..

...