Добавить языковой каталог, используя .htaccess - PullRequest
0 голосов
/ 14 февраля 2012

Привет сообщество Stackoverflow,

Я перечитывал большинство других вопросов .htaccess и пробовал разные решения в моем файле .htaccess, но безуспешно.

Вот в чем дело: у меня есть веб-сайт (на основе CodeIgniter), который уже имеет хорошее SEO-позиционирование. Теперь клиент хочет, чтобы он был переведен на другой язык, но я не хочу терять это SEO, поэтому я подумал о том, чтобы перенаправить URL-адрес, такой как http://www.domain.com/contactUs, на http://www.domain.com/en/contactUs,, являющийся (en) текущим позиционированным языком. Я бы без проблем справился с другим языком. В настоящее время я выполняю тесты на localhost, поэтому следующие правила будут иметь только «домен» вместо «домен.com».

Я пробовал эти правила перезаписи:

RewriteEngine on
Options +FollowSymlinks

RewriteCond ^(.*)/domain/(.*) !^/en/
RewriteRule ^(.*)/domain/(.*)$ $1/domain/en/$2

Я хочу, чтобы RewriteCond фильтровал URL-адреса, приходящие на новом языке, чтобы RewriteRule не выполнялся. Что я делаю неправильно?

Ответы [ 3 ]

0 голосов
/ 14 февраля 2012

Вы должны поместить весь свой текст в уникальные языковые файлы, а затем загрузить их так:

$this->config->set_item('language',"your_language");
$this->lang->load('default', "your_language");

Чтобы выписать контент, используйте:

$this->lang->line('message_id');

Дополнительная информация:

http://codeigniter.com/user_guide/libraries/language.html

Это должно быть более эффективным, чем создание дублирующего сайта, но при этом быть дружественным к SEO. На самом деле, он должен быть более дружественным к SEO.

0 голосов
/ 14 февраля 2012
RewriteCond $2 !^en/
RewriteRule ^(.*)/domain/(.*)$ $1/domain/en/$2
0 голосов
/ 14 февраля 2012

Сделайте это:

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} !^/en/ [NC]
RewriteRule ^(.*)$ /en/$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...