Новости Joomla

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

Access to restricted URI denied code: 1012
« : 17.06.2008, 15:51:17 »
Ошибка возникает при попытке добавления комментария с урла вида site.ru, тогда как скрипты и css тянется с урла www.site.ru :

Access to restricted URI denied" code: "1012
jc_changed(undefined)jcomments.js (line 157)
onchange(change )
xajax.$("comments-form-comment-length").innerHTML=ml-o.value.length;

Если комментарий добавлять с www.site.ru, то всё ок.

Joomla 1.0.15, JComments 1.4.0.9
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Access to restricted URI denied code: 1012
« Ответ #1 : 17.06.2008, 17:36:52 »
Мне почему-то кажется, что это вопрос настройки самой площадки, а не компонента...  Компонент проставляет пути и прочее согласно параметрам конфигурационного файла, и знать он не может о том, что есть что-то иное. А браузеру вполне вероятно не нравиться, что страница с одного домена обращается к скриптам с другого. Другого объяснения я дать честно говоря не могу. По крайней мере сейчас...

Re: Access to restricted URI denied code: 1012
« Ответ #2 : 17.06.2008, 18:25:10 »
Это логично..
В конфигурационном файле указывается переменная $mosConfig_live_site = "www.site.ru", которая подставляется в адреса подключаемых js скриптов и css файлов. И в случае, если мы заходим на сайт по урлу site.ru возникает проблема.

По другому ведь не настроишь конфиг. файл.
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Access to restricted URI denied code: 1012
« Ответ #3 : 17.06.2008, 18:39:06 »
По другому ведь не настроишь конфиг. файл.
но можно так настроить сервер, что он будет работать всегда по одной ссылке (и это кстати правильно, с точки зрения SEO), вот к примеру попробуй открыть www.joomlaportal.ru - он все равно откроется без www.
*

lammer

  • Захожу иногда
  • 95
  • 13 / 0
Re: Access to restricted URI denied code: 1012
« Ответ #4 : 27.06.2008, 14:48:41 »
Тааак. А теперь по полочкам. Тоже столкнулся с этой ошибкой - когда заказчик захотел чтобы одна и та же юмла обслуживала несколько доменов - ссылающихся на разные подразделы сайта.
Joomla 1.0.12 - jcomments 1.4.0.7 - (modified - updated)
Ох и головняка было. А теперь подробно как выйти из этой ситуации: (Jcomments абсолютно не при чем!):
1. configuration.php ст. 44 (или ниже):
Цитировать
$mosConfig_live_site = 'http://'.$_SERVER['HTTP_HOST']; //(или https) убедитесь что $_SERVER['HTTP_HOST'] не пустая переменная!
2. Убираем права на перезапсь из админки configuration.php - после записи будет ох как интересно обнаружить что $mosConfig_live_site = 'http://'.$_SERVER['HTTP_HOST']; - будет равно $mosConfig_live_site = 'http://www.ya.ru'; - значению переменной в данный момент времени
'http://'.$_SERVER['HTTP_HOST'] - это по сути номинальный адрес сайта в этот раз:) www.ya.ru или ya.ru
3. Но это еще не все - для всего прочего придется пожертвовать внутренней системой кэширования Joomla, у нее буквально начинает сносить крышу и на кэшированных страницах может всплыть абсолютно любой из прописанных доменов в ссылках - у меня было так:
захожу на overtime.kharkov.ua
а ссылки из кэша ведут на velo.overtime.kharkov.ua - и эти ссылки являются базовыми для хаджакса - после чего браузер отказывается нормально воспринимать аякс запросы (ну у нас установлена другая мощная внешняя система кэширования - так что производительность особо и не потерялась)
Хотя можно вот как сделать (если у вас не мультидоменная система - а всего лишь www.test.ru,test.ru):
Небольшой хак на джумкомментс:
components/com_jcomments/jcomments.class.php string 912- 920:
Цитировать
$tmpl->addGlobalVar('siteurl', 'http://'.$_SERVER['HTTP_HOST'] );
      $tmpl->addGlobalVar('charset', strtolower( preg_replace('/charset=/', '', _ISO ) ) );

      if ( $mainframe->isAdmin() ) {
         $tmpl->addGlobalVar('sitexajaxurl', 'http://'.$_SERVER['HTTP_HOST']  . '/administrator/index3.php?option=com_jcomments&no_html=1' );
      } else {
         $tmpl->addGlobalVar('sitexajaxurl', 'http://'.$_SERVER['HTTP_HOST']  . '/index2.php?option=com_jcomments&Itemid='.($Itemid ? $Itemid : 1).'&no_html=1' );
      }
А на самом деле правильно прислушаться к мнению разработчика - если у вас нет очень сложных хитросплетений мод реврайта (из которых трудно выйти новичку) + вы в этом разбираетесь - напишите пару правил для .htaccess:
« Последнее редактирование: 27.06.2008, 15:01:06 от lammer »
*

Behind_u

  • Новичок
  • 4
  • 0 / 0
Re: Access to restricted URI denied code: 1012
« Ответ #5 : 24.12.2008, 10:58:04 »
Долго бился с этой проблемой. Небольшой поиск вывел что ошибка "Access to restricted URI denied" code: "1012" выдаётся если запрашиваешь то что не твоё, не в твоём домейне или когда реквестиш с локалхоста.
*

StelthForce

  • Новичок
  • 9
  • 1 / 0
Re: Access to restricted URI denied code: 1012
« Ответ #6 : 23.04.2009, 11:12:12 »
Решения предложенные lammer работают и решают данную проблему, долго висела эта ошибка и проявлялась не везде. Решение оказалось простым, элементарным и элегантным, единственное, напишите правила для .htaccess приводящих url к единому виду и тогда эта тема будет полностью раскрыта!!! ^-^ ^-^
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Access to restricted URI denied code: 1012
« Ответ #7 : 23.04.2009, 11:14:38 »
Более того, новая версия компонента может работать и без этих изменений. Если есть желающие проверить и потестировать - могу предоставить тестовую версию.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться