termit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #180 : 01.02.2012, 15:17:07 » |
|
Пролема с этим фрагментом
Файл /templates/название_вашего_шаблона/html/com_content/article/default.php Нужно добавить в самом начале файла строки: <?php defined('_JEXEC') or die('Restricted access'); if ($this->article->readmore_link != JRequest::getURI()) JApplication::redirect($this->article- >readmore_link); ?>
Если его вставляю то всегда редиректит на главную, с любой ссылки РидМо или просто при переходе в меню. Jom 2.5 обновленная
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #181 : 01.02.2012, 15:19:06 » |
|
Поменяйте article на item. Будет так <?php if ($this->item->readmore_link != JRequest::getURI()) JApplication::redirect ($this->item->readmore_link,'','' ,true); ?>
|
|
|
|
|
Записан
|
|
|
|
termit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #182 : 01.02.2012, 15:27:01 » |
|
все ок, спасибо
|
|
|
|
|
Записан
|
|
|
|
fanrad
Новичок
Репутация: +0/-0
Offline
Сообщений: 2
|
 |
« Ответ #183 : 04.02.2012, 17:42:42 » |
|
в общем, для себя я сделала плагин http://hekima.ru/downloads/shnodoubles.zipправда, он, помимо указанного, заменяет ссылки, содержащие component/content/article , на ссылки с определенным алиасом, указанным в админ-панели плагина (мне так было надо под мою конкретную задачу) если кому-то пригодится - буду рада Поставил плагин. Все работает нормально. Но вот вопрос. При регистрации не показываются системные сообщения. Нет никакой инфы для регистрируемого - успешно или нет и т.д. Что ни делал, ничего не выходит. Может кто сталкивался с подобным?
|
|
|
|
|
Записан
|
|
|
|
den_caruk
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 65
|
 |
« Ответ #184 : 04.02.2012, 23:22:05 » |
|
Здравствуйте, все конечно супер...я использовал решение от Efanych....Но, осталась еще одна проблема.....дублирование главной страницы через категории статей..... например http://sait.com/kategory1/2-название статьи.html http://sait.com/kategory3/2-название статьи.html http://sait.com/kategory5/2-название статьи.html и так дальше, причем 2-это ID статьи на главной Так формируется куча дублей
|
|
|
|
« Последнее редактирование: 22.02.2012, 00:28:42 от den_caruk »
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #185 : 08.02.2012, 18:43:59 » |
|
Здравствуйте. В данной теме я решил поделиться своими наработками по Joomla 1.5. Может кому-то пригодятся. Недавно в процессе поискового продвижения сайта на Joomla 1.5 столкнулся с одной весьма серьезной проблемой встроенного механизма ЧПУ (SEF). Суть проблемы заключается в том, что в Joomla одна и та же страница site.ru/news/tech/1-news.html, например, может быть доступна по очень многим адресам: site.ru/index.php?option=com_content&view=article&id=22 site.ru/news/tech/1.html/ site.ru/news/2-tech/1-news.html site.ru/1-news/2-tech/1dsfsdkgjdfgklhfdgjf site.ru/home/1.html site.ru/component/content/frontpage.... Проблема весьма серьезная. Аналогично и с категориями, с site.ru/, site.ru/index.php, с разделами и так далее. Проблема, как видите, серьезная. Особого желания играться с редиректами в htaccess у меня не было, robots.txt тоже не вариант. Ну закрою я в robots.txt site.ru/index.php, ну а что делать с вариантами вроде site.ru/news/2-tech/1-news.htgjfhgsldfjkgd ? Как частичное решение ситуации можно было бы рассмотреть sh404SEF, но опять же. Это стороннее решение, оно все же снижает производительность и стабильность работы системы в целом, ИМХО. Вот и стал я искать выход. Решение оказалось очень простым: нужно при генерации страницы раздела, категории, статьи, главной страницы сравнивать адрес в запросе с вычисленным адресом страницы в системе. Вычисляется он на основе расположения страницы в меню, на основании псеводонимов (alias), идентификаторов, а также на основании раздела/категории. Для одной страницы существует лишь один так называемый системный адрес. Он используется по-умолчанию при генерации ссылок в системе. Если адрес в запросе не совпадает с системным адресом страницы, то движок с помощью 301 редиректа перебросит пользователя или поискового бота на нужную страницу. Таким вот образом дубли страниц оперативно склеиваются поисковиками по 301 редиректу. Для лучшей совместимости эту проверку я вынес в код шаблона. Да, это прямое нарушение концепции MVC, но это все же лучше чем правка системных файлов ручками при каждом обновлении. Если кому-то решение не понравится - можете аналогичным образом поправить контроллер com_content. Данный модуль был протестирован на Joomla 1.5.22 со стандартным ЧПУ и com_content. Данный модуль должен заработать и на 1.6. Ссылки на код модуля с подробным описанием и установкой: скачать / скачать.
Большая человеческая просьба не перезаливать архивы на другие файлообменники и не публиковать код с описанием на других страницах без моего разрешения. Просто кидаете ссылки на архивы. Отнеситесь к этому с пониманием.Все работает отлично, но при начальной загрузки сайта на пол секунды вылетает ошибка. Потом все работает. Вот скрин:  Как можно решить эту проблему? Заранее спасибо Я заметил, что данная проблема есть только в Хроме. В остальных все нормально
|
|
|
|
« Последнее редактирование: 08.02.2012, 18:50:03 от dexteron »
|
Записан
|
|
|
|
den_caruk
Осваиваюсь на форуме
 
Репутация: +2/-0
Offline
Сообщений: 65
|
 |
« Ответ #186 : 10.02.2012, 23:38:34 » |
|
Почистите кеш Joomla
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #187 : 14.02.2012, 12:45:51 » |
|
Почистите кеш Joomla
Не помогло. Вот, что еще интересно, такая ошибка вылетает в Хроме только при клике на ссылку главная (www.mysite.ru)
|
|
|
|
|
Записан
|
|
|
|
|
skai
|
 |
« Ответ #188 : 15.02.2012, 19:56:47 » |
|
чистим кэш браузера.
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #189 : 16.02.2012, 05:58:35 » |
|
чистим кэш браузера.
Аналогично. Не помогло. А почему, собственно, вылетает такая ошибка?
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #190 : 16.02.2012, 10:50:31 » |
|
Ошибка появляется только при открытии главной?
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #191 : 16.02.2012, 16:50:02 » |
|
Ошибка появляется только при открытии главной?
Да, при переходе по адресу mysite.ru (Когда нажимаешь в меню (mainmenu) на ссылку "Главная" ) и по адресу mysite.ru/index.php После перехода по вышеуказанным адресам происходит редирект на страницу http://mysite.ru/glavnaya.html Вот еще заметил: в Хроме переход по таких ссылках происходит по адресу без http:// и www, в то время, как в IE, Firefox и Opera с http://
|
|
|
|
« Последнее редактирование: 16.02.2012, 16:59:04 от dexteron »
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #192 : 16.02.2012, 16:56:51 » |
|
А что у вас на главной назначено? Если материал, то переделайте в блог материалов на главной
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #193 : 16.02.2012, 17:12:39 » |
|
Да, у меня стоит на главной материал. Переделал на блог материалов, стало лучше. Пункт меню "Главная" нормально открывается. Ну, а при переходе по логотипу в шапке с ссылкой на mysite.ru/index.php проблема осталась. Как такую проблемку решить не подскажите?
|
|
|
|
« Последнее редактирование: 16.02.2012, 17:16:20 от dexteron »
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #194 : 16.02.2012, 17:19:52 » |
|
Лучше ссылку на логотипе изменить. Но корни не отсюда ростут. Проверьте, какой ответ сервера получаете при обращении к странице mysite.ru/index.php
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #195 : 16.02.2012, 17:27:25 » |
|
Поскольку у меня был один логотип и картинка-надпись в шапке (с ссылками на index.php), я заменил в некоторых местах в шаблоне в файле index.php на http://mysite.ru/  Вроде все работает. Спасибо за советы.
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #196 : 16.02.2012, 17:30:34 » |
|
Лучше ссылку на логотипе изменить. Но корни не отсюда ростут. Проверьте, какой ответ сервера получаете при обращении к странице mysite.ru/index.php
Вот такой ответ сервера: HTTP/1.1 303 See other Date: Thu, 16 Feb 2012 13:29:39 GMT Server: Apache/2.2.17 (Unix) X-Powered-By: PHP/5.2.10-2ubuntu6.7 Set-Cookie: dca20d67941635252ba16156b10316f1=f21fa76120293eb61a418585a60afffb; path=/ P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM" Location: http://mobileleader.ru/ Vary: Accept-Encoding Connection: close Content-Type: text/html; charset=windows-1251
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #197 : 16.02.2012, 17:41:33 » |
|
Вот здесь код уже подкоректирован
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #198 : 16.02.2012, 18:00:21 » |
|
А код defined('_JEXEC') or die('Restricted access');
я так понял писать не обязательно? Просто заменить строку if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link); на if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link,'','' ,true);
В файлах: - components\com_content\views\section\tmpl\blog.php
- components\com_content\views\category\tmpl\blog.php
- components\com_content\views\frontpage\tmpl\default.php
- components\com_content\views\article\tmpl\default.php
Я правильно понял? 
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #199 : 16.02.2012, 18:01:59 » |
|
Да, только там строчки отличаются, заменить соответственно.
|
|
|
|
|
Записан
|
|
|
|
termit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #200 : 17.02.2012, 09:38:52 » |
|
J 2.5 был апгрейд с 1.5
Проблема с дублями страниц устранена, НО остались дубли категорий.
Сайт/Статья1/2-uncategorised Сайт/Статья2/2-uncategorised Сайт/Статья3/2-uncategorised
Вставлял коды по инструкции из манулала. Помогите пожалуйста !
|
|
|
|
|
Записан
|
|
|
|
termit
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 8
|
 |
« Ответ #201 : 17.02.2012, 10:08:56 » |
|
Устранил.
Uncategorised удалил.
Статьи перенес в опубликованые категории.
Дубль главной в категории закрыл в роботс.
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #202 : 17.02.2012, 16:09:25 » |
|
А как теперь можно проверить позиции модулей? (sait.ru/?tp=1)
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #203 : 17.02.2012, 16:21:51 » |
|
Просто добавьте в условие для главной исключение if ($this->original_link != $this->real_link && $this->real_link != "/?tp=1") JApplication::redirect($this->original_link,'','' ,true);
|
|
|
|
|
Записан
|
|
|
|
dexteron
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 29
|
 |
« Ответ #204 : 17.02.2012, 17:43:17 » |
|
Просто добавьте в условие для главной исключение
Правильно ли я понял? Нужно поставить после строки: if ($this->original_link != $this->real_link) JApplication::redirect($this->original_link,'','' ,true); в файле: /components/com_content/views/frontpage/tmpl/default.phpстроку: if ($this->original_link != $this->real_link && $this->real_link != "/?tp=1") JApplication::redirect($this->original_link,'','' ,true); Вот так: [IMG=http://img713.imageshack.us/img713/861/19931872.jpg][/IMG]Все ровно перебрасывает на главную. Может я что-то неправильно сделал?
|
|
|
|
|
Записан
|
|
|
|
|
Efanych
|
 |
« Ответ #205 : 17.02.2012, 20:11:55 » |
|
Нужно поставить после строки: Не после, а вместо
|
|
|
|
|
Записан
|
|
|
|
v4mp
Новичок
Репутация: +0/-0
Offline
Сообщений: 1
|
 |
« Ответ #206 : 27.02.2012, 19:15:33 » |
|
Сегодня заметил по логу, что хак выбивает ошибку при использовании. PHP Fatal error: Call to undefined method ContentViewArticle::close() in XXX/libraries/joomla/application/application.php on line XXX
Посмотрел на функцию redirect и пишу как побороть - меняем в каждом коде JApplication::redirect( на $app->redirect( Перед строчкой с $app->redirect( пишем $app = JFactory::getApplication();
dexteron, читайте текст выше))
|
|
|
|
« Последнее редактирование: 27.02.2012, 19:28:55 от v4mp »
|
Записан
|
|
|
|
komponent
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 25
|
 |
« Ответ #207 : 03.03.2012, 22:44:32 » |
|
Пригодилось, давно хотел этого 
|
|
|
|
|
Записан
|
|
|
|
maxikm
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 26
|
 |
« Ответ #208 : 05.03.2012, 23:37:48 » |
|
привет всем! помогите пожалуйста, я не гуру в Joomla по-этому прошу помощи. После того как начал работать c JoomFish дофига дублей страниц, пробовал сделать по инструкции вставить код в нужные файлы шаблона, после этого браузер пишет что перенаправление может длиться вечно что еще надо поправить?, я так думаю в файле .htaccess, подобный вопрос уже был в теме но конкретного ответа не него не было. вот код из файла ########## 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! # ## Deny access to extension XML files (uncomment out to activate) #<Files ~ "\.xml$"> #Order allow,deny #Deny from all #Satisfy all #</Files> ## End of deny access to extension XML files # 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 data within the URL RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%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}) # Return 403 Forbidden header and show the content of the root homepage RewriteRule .* index.php [F] # ########## End - Rewrite rules to block out some common exploits
########## Begin - Custom redirects # # If you need to redirect some pages, or set a canonical non-www to # www redirect (or vice versa), place that code here. Ensure those # redirects use the correct RewriteRule syntax and the [R=301,L] flags. # ########## End - Custom redirects
# 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 # RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # # If the requested path and file is not /index.php and the request # has not already been internally rewritten to the index.php script RewriteCond %{REQUEST_URI} !^/index\.php # and the request is for root, or for an extensionless URL, or the # requested URL ends with one of the listed extensions RewriteCond %{REQUEST_URI} (/[^.]*|\.(php|html?|feed|pdf|raw))$ [NC] # and the requested path and file doesn't directly match a physical file RewriteCond %{REQUEST_FILENAME} !-f # and the requested path and file doesn't directly match a physical folder RewriteCond %{REQUEST_FILENAME} !-d # internally rewrite the request to the index.php script RewriteRule .* index.php [L] # ########## End - Joomla! core SEF Section
|
|
|
|
|
Записан
|
|
|
|
|
oriol
|
 |
« Ответ #209 : 06.03.2012, 04:25:46 » |
|
*****
|
|
|
|
« Последнее редактирование: 06.03.2012, 04:32:42 от oriol »
|
Записан
|
|
|
|
|