Не работает переключение языков на сайте

  • 29 Ответов
  • 1068 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Ecrof

  • **
  • 14
  • 0
Сайт: krejcovstvi-mustek.cz . Не работает переключатель языка. При том, если прописать в конце URL`а /ru или /cz, то все переходит нормально. В чем может быть проблема? Модуль Multilanguage status, Система - Фильтр языка, "главные страницы" языков - включены. Помогите!!

*

Olg

  • ******
  • 1045
  • 73
Меню на чешском сделайте.

*

Olg

  • ******
  • 1045
  • 73
Странно. Оно у вас есть. Где-то ещё вы намудрили.

*

Olg

  • ******
  • 1045
  • 73
В менеджере языков для языков содержимого установлены коды URL?

*

Ecrof

  • **
  • 14
  • 0
Спасибо за реакцию. Да, все выше перечисленное имеется. Единственная не решаемая проблема на сайте - это сообщение об устаревшей базе данных (оно не исправляется). Еще вопрос, а может быть в htaccess что-то прописать?

*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу
Ничего в htaccess не надо добавлять. А что за модуль такой Multilanguage status? Родной Joomla модуль нормально работает?

*

Olg

  • ******
  • 1045
  • 73
Multilanguage status
Это в админке информационный модуль (с сообщением "включён" -- "не включён").
Единственная не решаемая проблема на сайте - это сообщение об устаревшей базе данных (оно не исправляется).
Говорят, что это маленький баг, который ни на что не влияет.

*

Ecrof

  • **
  • 14
  • 0
Это модуль из панели управления, родной. Про какой родной модуль Вы говорите?

*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу
Ясно. Ну на модуль языков у Вас вообще неверную ссылку выдает, а это значит только одно - где-то проблема с настройкой. Языки контента верно прописаны?

*

Ecrof

  • **
  • 14
  • 0
Вот настройки языков




*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу
Хмм... В чудеса я не верю, так как уже много раз настраивал многоязычность и всегда работало. Явно где-то что-то не так. Вопрос только, где? =(

*

Ecrof

  • **
  • 14
  • 0
Вот "Фильтр языка" и модуль




*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу
Выглядит все корректно. Пока нет идей, где еще может быть загвоздка. А пробовали на стандартном шаблоне проверить? Мало ли.

*

Ecrof

  • **
  • 14
  • 0
Всё равно не работает переключение языков.

*

Ecrof

  • **
  • 14
  • 0
Может всё таки в htaccess?
Вот он.

##
 # @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $
 # @package Joomla
 # @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
 # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
 # Joomla! is Free Software
 ##
 
 
 #####################################################
 #  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE
 #
 # The line just below this section: 'Options +FollowSymLinks' may cause problems
 # with some server configurations.  It is required for use of mod_rewrite, but may already
 # be set by your server administrator in a way that dissallows changing it in
 # your .htaccess file.  If using it causes your server to error out, comment it out (add # to
 # beginning of line), reload your site in your browser and test your SEF url's.  If they work,
 # it has been set by your server administrator and you do not need it set here.
 #
 #####################################################
 
 ##  Can be commented out if causes errors, see notes above.
 # Options +FollowSymLinks
 
 #
 #  mod_rewrite in use
 
 RewriteEngine On
 
 ########## Begin - Rewrite rules to block out some common exploits
 ## If you experience problems on your site block out the operations listed below
 ## This attempts to block the most common type of exploit `attempts` to Joomla!
 #
 # Block out any script trying to set a mosConfig value through the URL
 RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
 # Block out any script trying to base64_encode crap to send via URL
 RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
 # Block out any script that includes a <script> tag in URL
 RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
 # Block out any script trying to set a PHP GLOBALS variable via URL
 RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
 # Block out any script trying to modify a _REQUEST variable via URL
 RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
 # Send all blocked request to homepage with 403 Forbidden error!
 RewriteRule ^(.*)$ index.php [F,L]
 #
 ########## End - Rewrite rules to block out some common exploits
 
 #  Uncomment following line if your webserver's URL
 #  is not directly related to physical file paths.
 #  Update Your Joomla! Directory (just / for root)
 
 # RewriteBase /
 
 
 ########## Begin - Joomla! core SEF Section
 #
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_URI} !^/index.php
 RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]
 RewriteRule (.*) index.php
 RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
 #
 ########## End - Joomla! core SEF Section
 

*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу

*

Ecrof

  • **
  • 14
  • 0
Только не смейтесь =) Заработало, как отключил SEF. Значит проблема в htaccess.

*

Ecrof

  • **
  • 14
  • 0
Можете скопировать сюда htaccess со 100% работающего сайта. Я попробую скопипастить. Может что выйдет.


*

AlekVolsk

  • ********
  • 6301
  • 336
Измените Ваш .htaccess на следующее содержимое (не забудьте копию оригинала сохранить), включите SEF и посмотрите, что получится:
Код
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
AddDefaultCharset UTF-8

*

Ecrof

  • **
  • 14
  • 0
Может быть проблема в этом: # Options +FollowSymLinks? Если я убираю решетку или меняю на Options +SymLinksIfOwnerMatch то мне выдает 500 ошибку.

*

Ecrof

  • **
  • 14
  • 0
AlekVolsk, выдаёт 500 ошибку.

*

AlekVolsk

  • ********
  • 6301
  • 336
Закомментируйте эту строчку, возможно, эта опция уже установлена вашим хостером.

*

Ecrof

  • **
  • 14
  • 0
Нет) Не помогло. Какие ещё могут быть проблемы? Я теряюсь в догадках.

*

AlekVolsk

  • ********
  • 6301
  • 336
Поинтересуйтесь в тех.поддержке у хостера, какие вообще опции им установлены по умолчанию.

Самописные роутеры имеются, в шаблоне есть файл router.php?
SEF в шаблоне переопределяли?
если ни то ни другое, то, имхо, однозначно хостер.

*

Ecrof

  • **
  • 14
  • 0
AlekVolsk, самописных роутеров нет, файла router.php тоже нет, SEF не переопределял.
http://hosting.wedos.com/en/webhosting/php.html - список всех опций.
http://krejcovstvi-mustek.cz/images/ghj.png - конфигурации PHP  (zapnuto - включено; vypnuto - выключено;)
« Последнее редактирование: 16.04.2014, 18:02:10 от Ecrof »

*

AlekVolsk

  • ********
  • 6301
  • 336
тогда не знаю, извиняйте. самому интересно стало.

*

b2z

  • *****
  • 7450
  • 741
  • Разраблю понемногу
Есть только одно решение - перенести на другой хостинг или локалку и проверить там. Akeeba Backup Вам в помощь.

*

Ecrof

  • **
  • 14
  • 0
Спасибо за всё. Подумаю над переносом, но пока попробую разобраться с ситуацией. Если что получится, то напишу, мало ли кому понадобится, если кто-то знает решение - пишите, я буду проверять тему.

Ребята. Если использовать компонент Artio JoomSEF, то появляется такая проблема, как у автора поста. Нужно перейти в конфигурацию Artio JoomSEF, вкладка "Язык" и включить "Включить управление языком JoomSEF".