Страницы, не зависящие от языка - PullRequest
0 голосов
/ 27 февраля 2009

У моего старого веб-сайта есть страница index.html ... ничего странного! Все хорошо.

Новый веб-сайт имеет английскую и французскую версии, поэтому новый индекс - index.php?lang=eng…. Это имеет смысл.

Я не хотел бы делать титульный лист с надписью «английский» или «французский». Но это не хорошо для рейтинга или SEO.

Итак, вопрос таков: как мне получить значение по умолчанию index.php с запросом (?lang=eng) на первую полосу?

Ответы [ 7 ]

3 голосов
/ 27 февраля 2009

Я не уверен, что понимаю вопрос. Вроде бы две части:

Как указать язык по умолчанию на английском:

$lang = empty($_GET['lang']) ? "eng" : $_GET['lang'];

У вас также есть проблема с тем, где размещать ссылки на английский / французский языки, чтобы поисковые системы вас не связывали? Я не знал об этой проблеме.

Также может помочь сообщить нам, используете ли вы CMS, и если да, то какую.

(Отвечает на мой вопрос о французском и французском языках. Je lis en francais bein meilleur que j'en ecris).

3 голосов
/ 27 февраля 2009
  • domain.com / о / index.php
  • domain.com / пт / index.php

Используйте перезапись URL с помощью регулярных выражений (mod_rewrite, ISAPI и т. Д.) Для обработки запросов на соответствующие страницы, поэтому

  • domain.com / ru / index.php ПЕРЕЗАГРУЗИТЬ НА domain.com/index.php?lang=en
  • domain.com / fr / index.php ПЕРЕЗАГРУЗИТЬ НА domain.com/index.php?lang=fr

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

2 голосов
/ 27 февраля 2009

Если я не правильно понял вопрос, в index.php, когда вы проверяете язык, поставьте что-то вроде этого:

$lang = @$_GET['lang'];
if ( empty($lang) ) $lang = 'eng';
1 голос
/ 27 февраля 2009

Просто поместите в код php аргумент:

<code>
if (lang == "")  // haven't done php in a while so the syntax is probably wrong
{
  lang = "eng";
}
Другими словами, если в переменной lang нет аргумента, вы можете просто установить для него значение eng автоматически, и поэтому для первой страницы будет по умолчанию установлен английский язык, если не указано иное.
0 голосов
/ 27 февраля 2009

что вы думаете об этом решении

<?php
    $lang = $_GET['lang'];
    if ( empty($lang) ) $lang = 'fra';
    header( 'Location: http://acecrodeo.com/new/01-acec.php?lang='.$lang) ;
?>
0 голосов
/ 27 февраля 2009

Я бы использовал нейтральный URL для входа, например:

http://example.com/foo/bar

На этой странице я бы провел согласование языка или просто спросил бы пользователя о предпочтительном языке. Затем я могу перенаправить на конкретный язык URL:

http://example.com/en/foo/bar
0 голосов
/ 27 февраля 2009

Просто сделайте английский по умолчанию и предложите вариант на странице индекса, чтобы изменить на французский? Это, конечно, зависит от того, на каком языке говорит большинство посетителей, что не так уж сложно определить с помощью журналов посещений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...