Форум русской поддержки Joomla!® CMS
03.12.2016, 00:06:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

jcomments JComments 2.3.0 и редирект 301

 (Прочитано 3169 раз)
0 Пользователей и 1 Гость смотрят эту тему.
dvd-obzor
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 31


« : 30.06.2013, 19:01:19 »

Проблема с комментариями.
Если в .htaccess стоит редирект:

#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(.+)/$
#RewriteRule ^(.+)/$ /$1 [R=301,L]

Тогда коменты не добавляются.
Если его убрать всё нормально работает.

Как можно решить эту проблему?
Сайт http://fisherman38.ru
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #1 : 30.06.2013, 19:17:14 »

Request URL:http://fisherman38.ru/index.php/component/jcomments/
Request Method:POST
Status Code:200 OK

Когда включен редирект со слеша на без слеш, то запрос идет так
Request URL:http://fisherman38.ru/index.php/component/jcomments

И соответстсвенно комментарии не добавляются

Убирайте этот редирект, зачем он вам? Joomla не генерит урлы со слэшем

---------
можно попробовать
Код:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteCond %{REQUEST_URI} !^/index.php/component/jcomments/.*$
RewriteRule ^(.+)/$ /$1 [R=301,L]
« Последнее редактирование: 30.06.2013, 19:42:59 от ELLE » Записан
smart
Администратор
*******

Репутация: +1308/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #2 : 01.07.2013, 11:42:21 »

Ну это какой-то умник на форуме подобное решение повесил, и теперь его все бездумно тиражируют... Я даже не знаю, чем здесь помочь можно - как отучить людей от бездумного копипаста? Надо поискать на форуме, кто же это придумал (для чего я подозреваю - с дублями боролись).

Решение может быть таким:
Код:
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

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]
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #3 : 01.07.2013, 15:01:03 »

Ну это какой-то умник на форуме подобное решение повесил
Даже боюсь предположить кто этот умник......)

Повесил, ага, потому что темы создают постоянно с такими вопросами, а еще повесил предупреждение:
Цитировать
Обратите внимание!
Любое изменение в .htaccess вы должны тестировать и проверять - все ли у вас работает на сайте, например, могут возникнуть проблемы с различными формами - авторизация, отправка сообщения\комментария и т.д., особенно при перенаправлениях с адреса без слеш на конце НА слеш или с адреса без .html НА .html в конце! Будьте внимательны.

Но никто ж не думает, а просто копируют, да что там думают - они даже не читают, о возможных проблемах!
Записан
Gnom41k
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 152


W.Shop


« Ответ #4 : 03.01.2014, 17:20:03 »

В общем проблема так и осталась, либо в индексе дубли, либо комментарии не работают.
У меня в .htaccess сейчас прописаны строки:
REDIRECTMATCH 301 (.*/[^/.]+)($|\?)$ http://watt-shop.com$1.html

Сам редирект работает нормально но в индексе (в панели вебмастер google) на вкладке Оптимизация HTML -> Страницы с повторяющимся метаописанием отображаются такие страницы (для примера):
/led-lamps.html
/led-lamps/
/led-lamps

Если включить код:
# 301 редирект на окончание .html
# RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
# RewriteRule .* %1.html [R=301,L]
# RewriteRule ^(.*)/$ /$1.html [R=301,L]
редирект работает так же, как будет изменена ситуация с Google не проверял. Решения приведенные Выше не работают. На всякий случай повторю задачу - избавится от дублей на примере led-lamp и сделать редирект на окончание HTML ну и как результат одна страница в индексе Googleя Делаю поправку на ветер - последний рабочий код редиректа вставил не больше недели назад, может Googleяеще не понял что сайт причесался и по прежнему выдает страницы по ошибке. очень жду Ваших комментов и помощи.
Записан
alexburn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 85



« Ответ #5 : 25.01.2014, 11:32:49 »

Тоже интересует этот вопрос. С редиректом не работают комментарии. Как править - ума не приложу
Записан
gaploger
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 74



« Ответ #6 : 04.02.2014, 01:58:29 »

Народ, для тех у кого стоит редирект с без HTML на с HTML, и при этом не добавляются комментарии в jcomments - я добавил вот такой код и все работает:

RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)$ /$1.html [R=301,L]
Записан
mussena
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Женский
Сообщений: 18


« Ответ #7 : 13.02.2014, 01:10:46 »

Всем привет, столкнулась с такой же проблемой Jcomments и редиректа со слеша на без слеш. В комментсах не добавлялись комментарии.
Проблема решилась следующим образом, возможно кому-нибудь поможет:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)/$ /$1 [L,R=301]

Избавились от дублей со слешем и работает jcomments
Записан
Konstantin124
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Пол: Мужской
Сообщений: 32



« Ответ #8 : 03.03.2014, 19:04:18 »

Всем привет, столкнулась с такой же проблемой Jcomments и редиректа со слеша на без слеш. В комментсах не добавлялись комментарии.
Проблема решилась следующим образом, возможно кому-нибудь поможет:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)/$ /$1 [L,R=301]

Избавились от дублей со слешем и работает jcomments

Комментарии действительно заработали, только теперь в админку не могу попасть - циклическая переадресация...
Записан
Gnom41k
Осваиваюсь на форуме
***

Репутация: +5/-1
Offline Offline

Пол: Мужской
Сообщений: 152


W.Shop


« Ответ #9 : 04.03.2014, 15:29:22 »

http://site.com/administrator/index.php?
« Последнее редактирование: 04.03.2014, 15:42:33 от Gnom41k » Записан
mussena
Захожу иногда
**

Репутация: +1/-0
Offline Offline

Пол: Женский
Сообщений: 18


« Ответ #10 : 04.03.2014, 18:05:11 »

Комментарии действительно заработали, только теперь в админку не могу попасть - циклическая переадресация...
Привет, у меня все ок, админка работает, никакой переадресации.. Возможно у вас в htaccess прописаны другие правила. Попробуйте удалять по одному и проверять работоспособность
Записан
alexburn
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 85



« Ответ #11 : 10.07.2014, 11:17:29 »

Всем привет, столкнулась с такой же проблемой Jcomments и редиректа со слеша на без слеш. В комментсах не добавлялись комментарии.
Проблема решилась следующим образом, возможно кому-нибудь поможет:

RewriteBase /
RewriteCond %{HTTP_HOST} (.*)
RewriteCond %{REQUEST_URI} !^/component/.*/$ [NC]
RewriteCond %{REQUEST_URI} /$ [NC]
RewriteRule ^(.*)/$ /$1 [L,R=301]

Избавились от дублей со слешем и работает jcomments
Спасибо огромнейшее, ваше исправление помогло!
Записан
xppx
Новичок
*

Репутация: +0/-0
Offline Offline

Сообщений: 2


« Ответ #12 : 23.07.2014, 20:29:35 »

Комментарии действительно заработали, только теперь в админку не могу попасть - циклическая переадресация...

убираем слеш без вмешательства в хтачесс и комментарии работают

// Получаем URI для проверки
$uri = preg_replace("/\?.*/i",'', $_SERVER['REQUEST_URI']);
 
if (strlen($uri)>1) {// если не главная страница...
  if (rtrim($uri,'/')!=$uri) {
    header("HTTP/1.1 301 Moved Permanently");
    header('Location: http://'.$_SERVER['SERVER_NAME'].str_replace($uri, rtrim($uri,'/'), $_SERVER['REQUEST_URI']));
    exit();   
  }
}

(код вставлять в начало index.php)
Записан
smart
Администратор
*******

Репутация: +1308/-14
Offline Offline

Пол: Мужской
Сообщений: 6850


снова дома...


« Ответ #13 : 24.07.2014, 12:55:05 »

убираем слеш без вмешательства в хтачесс и комментарии работают
Это чем-то напоминает совет как правильно сломать ногу, если окружающие смеются, что здоровый человек ходит с костылем ) Я не совсем понимаю, зачем править код, если достаточно исправить некорректное правило для редиректа в htaccess? Я бы понял, если бы проблема изначально была бы связана с оригинальным htaccess — тогда да, а так, сначала не сильно вникая в смысл кода вставили нечто найденное на просторах интернета в htaccess, потом столкнулись с проблемой и вместо исправления ошибки во вставленном коде предлагается добавить еще один костыль (который с некоторой вероятностью при следующем обновлении отвалится).
Записан
Андрей Нестеров
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #14 : 25.09.2015, 00:02:38 »

Доброго) Возобновлю тему, т.к. проблему решить не удалось.

Код:
# 301 редирект на окончание .html
RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]

Наличие данного правила не дает добавить комментарий. Как его изменить, чтобы комментарии заработали?
Записан
Андрей Нестеров
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 120



« Ответ #15 : 25.09.2015, 15:38:50 »

Вопрос закрыт!

Нашел ответ в постах #6, #7
« Последнее редактирование: 25.09.2015, 15:53:24 от ELLE » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet