500 ошибка в joomla 1.7 - Webmasters.ru - RSS http://webmasters.ru/forum/showthread.php?t=26073 SEO форум вебмастеров - Поисковые системы, оптимизация, раскрутка сайта, оптимизация и продвижение сайта в поисковых системах 1742047557 Elesite CMS 60 http://webmasters.ru/forum/images/wm/misc/rss.png SEO форум вебмастеров Webmasters.ru http://webmasters.ru/forum 500 ошибка в joomla 1.7 by HaXaL http://webmasters.ru/forum/showpost.php?p=262689 Sat, 03 Mar 2012 15:08:01 GMT Всем привет, у меня вопрос к знатокам joomla и php. При перехода на постраничной навигации, если перейти на 2-3-4.... страницу все норм но если перейти обратно на 1 по выдает 500 ошибку урл такого вида _http://..../frontpage.html?layout=frontpage- 500 ошибка урл рабочих страниц _http://..../frontpage/2.html?layout=frontpage - норм работает если нерабочий урл руками переписать и сделать из него такой вид _http://.../frontpage/1.html?layout=frontpage то он нормально переходит на 1 страницу. Я думаю тут есть 2 решение, 1 это сделать 301 редерект с ./frontpage.html?layout=frontpage на ./frontpage/1.html?layout=frontpage - пробовал но у меня не получилось. 2 это изменить настройку ЧПУ. Я использую шаблон от YOOtheme. Наполнение сайта через компонент ZOO последней версии ЧПУ на сайте с помощью файла router.php [SPOILER=router.php] alias->category->translateIDToAlias((int) $query['category_id']); } unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['category_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // alpha index $task = 'alphaindex'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['alpha_char']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); $segments[] = $query['alpha_char']; unset($query['task']); unset($query['view']); unset($query['alpha_char']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // tag $task = 'tag'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); $segments[] = $query['tag']; unset($query['task']); unset($query['view']); unset($query['tag']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // item $task = 'item'; if (@$query['task'] == $task || @$query['view'] == $task) { if (@$query['task'] == $task && @$query['item_id']) { $segments[] = $task; $segments[] = $app->alias->item->translateIDToAlias((int) $query['item_id']); } unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['item_id']); } // feed $task = 'feed'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['type']) && isset($query['app_id']) && isset($query['category_id'])) { $segments[] = $task; $segments[] = $query['type']; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); if ($query['category_id']) { $segments[] = $app->alias->category->translateIDToAlias((int) $query['category_id']); } unset($query['task']); unset($query['view']); unset($query['type']); unset($query['app_id']); unset($query['category_id']); } // submission $task = 'submission'; if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == 'submission')) { $segments[] = $task; $segments[] = @$query['layout']; $segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']); $segments[] = $query['type_id']; $segments[] = $query['submission_hash']; $segments[] = $app->alias->item->translateIDToAlias((int) @$query['item_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); unset($query['type_id']); unset($query['submission_hash']); unset($query['item_id']); } // submission mysubmissions $task = 'submission'; if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == 'mysubmissions')) { $segments[] = $task; $segments[] = @$query['layout']; $segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); } return $segments; } function ZooParseRoute($segments) { $app = App::getInstance('zoo'); // init vars $vars = array(); $count = count($segments); // fix segments (see JRouter::_decodeSegments) foreach (array_keys($segments) as $key) { $segments[$key] = str_replace(':', '-', $segments[$key]); } // frontpage (with optional pagination) $task = 'frontpage'; if ($count == 1 && $segments[0] == $task) { $vars['task'] = $task; } if ($count == 2 && $segments[0] == $task) { $vars['task'] = $task; $vars['page'] = (int) $segments[1]; } // category (with optional pagination) $task = 'category'; if ($count == 2 && $segments[0] == $task) { $vars['task'] = $task; $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]); } if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]); $vars['page'] = (int) $segments[2]; } // alpha index (with optional pagination) $task = 'alphaindex'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['alpha_char'] = (string) $segments[2]; } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['alpha_char'] = (string) $segments[2]; $vars['page'] = (int) $segments[3]; } // tag (with optional pagination) $task = 'tag'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['tag'] = (string) $segments[2]; } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['tag'] = (string) $segments[2]; $vars['page'] = (int) $segments[3]; } // item $task = 'item'; if ($count == 2 && $segments[0] == $task) { $vars['task'] = $task; $vars['item_id'] = (int) $app->alias->item->translateAliasToID($segments[1]); } // feed $task = 'feed'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['type'] = (string) $segments[1]; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]); } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['type'] = (string) $segments[1]; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]); $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[3]); } // submission $task = 'submission'; $layout = 'submission'; if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; } if ($count == 5 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); $vars['type_id'] = (string) $segments[3]; $vars['submission_hash'] = (string) $segments[4]; } if ($count == 6 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); $vars['type_id'] = (string) $segments[3]; $vars['submission_hash'] = (string) $segments[4]; $vars['item_id'] = (int) $app->alias->item->translateAliasToID($segments[5]); } // submission mysubmissions $task = 'submission'; $layout = 'mysubmissions'; if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; } if ($count == 3 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); } // try to retrieve vars from menu item if (empty($vars)) { if ($menu_item = $app->object->create('JSite')->getMenu()->getActive()) { $vars['task'] = @$menu_item->query['view']; switch ($vars['task']) { case 'frontpage': if ($count == 1) { $vars['page'] = (int) $segments[0]; } break; case 'category': if ($count == 1) { $vars['page'] = (int) $segments[0]; $vars['category_id'] = @$menu_item->query['category_id']; } break; } } } return $vars; } еще вам может пригодиться файл app->joomla->isVersion('1.5') ? 'mainframe' : 'app')]->getTemplate(), 0, 3)) != 'yoo') { $this->app->document->addStylesheet('assets:css/reset.css'); } $this->app->document->addStylesheet($this->template->resource.'assets/css/zoo.css'); // show description only if it has content if (!$this->application->description) { $this->params->set('template.show_description', 0); } // show title only if it has content if (!$this->application->getParams()->get('content.title')) { $this->params->set('template.show_title', 0); } // show image only if an image is selected if (!($image = $this->application->getImage('content.image'))) { $this->params->set('template.show_image', 0); } $css_class = $this->application->getGroup().'-'.$this->template->name; ?>
params->get('template.show_alpha_index')) : ?> partial('alphaindex'); ?> params->get('template.show_title') || $this->params->get('template.show_description') || $this->params->get('template.show_image')) : ?>
params->get('template.show_title')) : ?>

application->getParams()->get('content.title'); ?>

application->getParams()->get('content.subtitle')) : ?>

application->getParams()->get('content.subtitle'); ?>

params->get('template.show_description') || $this->params->get('template.show_image')) : ?>
params->get('template.show_image')) : ?> <?php echo $this->application->getParams()->get('content.title'); ?>/> params->get('template.show_description')) echo $this->application->getText($this->application->description); ?>
params->get('template.show_categories') && ($this->category->childrenHaveItems())) { $has_categories = true; echo $this->partial('categories'); } ?> items)) { echo $this->partial('items', compact('has_categories')); } ?>
и pagination->render($this->pagination_link)) : ?> Сам сайт _big-move.ru Если надо еще какие данные то пишите сюда. Спасибо всем кто поможет.]]>
500 ошибка в joomla 1.7 by HaXaL http://webmasters.ru/forum/showpost.php?p=263128 Sun, 04 Mar 2012 20:41:55 GMT Извините меня модераторы за АП темы, но проблема решена. Вот ее решение: вся проблема была в файле [SPOILER=router.php] alias->category->translateIDToAlias((int) $query['category_id']); } unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['category_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // alpha index $task = 'alphaindex'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['alpha_char']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); $segments[] = $query['alpha_char']; unset($query['task']); unset($query['view']); unset($query['alpha_char']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // tag $task = 'tag'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['tag']) && isset($query['app_id'])) { $segments[] = $task; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); $segments[] = $query['tag']; unset($query['task']); unset($query['view']); unset($query['tag']); unset($query['app_id']); // pagination if (isset($query['page'])) { $segments[] = $query['page']; unset($query['page']); } } // item $task = 'item'; if (@$query['task'] == $task || @$query['view'] == $task) { if (@$query['task'] == $task && @$query['item_id']) { $segments[] = $app->alias->item->translateIDToAlias((int) $query['item_id']); } unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['item_id']); unset($query['category_id']); } // feed $task = 'feed'; if ((@$query['task'] == $task || @$query['view'] == $task) && isset($query['type']) && isset($query['app_id']) && isset($query['category_id'])) { $segments[] = $task; $segments[] = $query['type']; $segments[] = $app->alias->application->translateIDToAlias((int) $query['app_id']); if ($query['category_id']) { $segments[] = $app->alias->category->translateIDToAlias((int) $query['category_id']); } unset($query['task']); unset($query['view']); unset($query['type']); unset($query['app_id']); unset($query['category_id']); } // submission $task = 'submission'; if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == 'submission')) { $segments[] = $task; $segments[] = @$query['layout']; $segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']); $segments[] = $query['type_id']; $segments[] = $query['submission_hash']; $segments[] = $app->alias->item->translateIDToAlias((int) @$query['item_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); unset($query['type_id']); unset($query['submission_hash']); unset($query['item_id']); } // submission mysubmissions $task = 'submission'; if (((@$query['task'] == $task || @$query['view'] == $task) && @$query['layout'] == 'mysubmissions')) { $segments[] = $task; $segments[] = @$query['layout']; $segments[] = $app->alias->submission->translateIDToAlias((int) $query['submission_id']); unset($query['task']); unset($query['view']); unset($query['layout']); unset($query['submission_id']); } return $segments; } function ZooParseRoute($segments) { $app = App::getInstance('zoo'); // init vars $vars = array(); $count = count($segments); // fix segments (see JRouter::_decodeSegments) foreach (array_keys($segments) as $key) { $segments[$key] = str_replace(':', '-', $segments[$key]); } // frontpage (with optional pagination) $task = 'frontpage'; if ($count == 1 && $segments[0] == $task) { $vars['task'] = $task; } if ($count == 2 && $segments[0] == $task) { $vars['task'] = $task; $vars['page'] = (int) $segments[1]; } // category (with optional pagination) $task = 'category'; if ($count == 2 && $segments[0] == $task) { $vars['task'] = $task; $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]); } if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[1]); $vars['page'] = (int) $segments[2]; } // alpha index (with optional pagination) $task = 'alphaindex'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['alpha_char'] = (string) $segments[2]; } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['alpha_char'] = (string) $segments[2]; $vars['page'] = (int) $segments[3]; } // tag (with optional pagination) $task = 'tag'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['tag'] = (string) $segments[2]; } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[1]); $vars['tag'] = (string) $segments[2]; $vars['page'] = (int) $segments[3]; } // item $task = 'item'; if ($count == 1 && (int) $app->alias->item->translateAliasToID($segments[0])) { $vars['task'] = $task; $vars['item_id'] = (int) $app->alias->item->translateAliasToID($segments[0]); } // feed $task = 'feed'; if ($count == 3 && $segments[0] == $task) { $vars['task'] = $task; $vars['type'] = (string) $segments[1]; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]); } if ($count == 4 && $segments[0] == $task) { $vars['task'] = $task; $vars['type'] = (string) $segments[1]; $vars['app_id'] = (int) $app->alias->application->translateAliasToID($segments[2]); $vars['category_id'] = (int) $app->alias->category->translateAliasToID($segments[3]); } // submission $task = 'submission'; $layout = 'submission'; if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; } if ($count == 5 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); $vars['type_id'] = (string) $segments[3]; $vars['submission_hash'] = (string) $segments[4]; } if ($count == 6 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); $vars['type_id'] = (string) $segments[3]; $vars['submission_hash'] = (string) $segments[4]; $vars['item_id'] = (int) $app->alias->item->translateAliasToID($segments[5]); } // submission mysubmissions $task = 'submission'; $layout = 'mysubmissions'; if ($count == 2 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; } if ($count == 3 && $segments[0] == $task && $segments[1] == $layout) { $vars['task'] = $task; $vars['layout'] = (string) $segments[1]; $vars['submission_id'] = (int) $app->alias->submission->translateAliasToID($segments[2]); } // try to retrieve vars from menu item if (empty($vars)) { if ($menu_item = $app->object->create('JSite')->getMenu()->getActive()) { $vars['task'] = @$menu_item->query['view']; switch ($vars['task']) { case 'frontpage': if ($count == 1) { $vars['page'] = (int) $segments[0]; } break; case 'category': if ($count == 1) { $vars['page'] = (int) $segments[0]; $vars['category_id'] = @$menu_item->query['category_id']; } break; } } } return $vars; } ток он должен выглядеть, мб кому пригодиться.]]>