не отправляются комментарии (из-за редиректа страницы со слешем)

  • 2 Ответов
  • 680 Просмотров

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

*

Оффлайн Karyuudo

JComments 3.0.5 [01/08/2014]
Joomla 2.5
в корне сайта htaccess в котором прописано:
Цитировать
## Removing '/' at the end of url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]
из-за этой строчки при отправке комментария грузится прелоадер.. и все потом прекращает грузится.
ошибку не выдает, комментарий не добавляется.


Как можно поправить это?
этот слеш надо убрать чтоб дублей не было,
пробовал ставить jlnodobles но тогда вообще толи ничего не работало, толи жутко все тормозило - уже забыл..

*

Оффлайн Karyuudo

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

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

Избавились от дублей со слешем и работает jcomments
хотя нет, еще не решена,
в админку не входит

Цитировать
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.

*

Оффлайн Karyuudo

Кажется нашел вроде теперь и админка работает и остальное!

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

Решение может быть таким:
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]