JComments на Joomla - не публикуются комментарии

J
На сайте с 07.10.2010
Offline
163
3475

Добрый день, уважаемые вебмастера. Не публикуются комментарии на сайте при помощи модуля JComments для Joomla. Проблему удается решить, только удалив из файла .htaccess следующие строчки:

RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
RewriteRule ^index\.php/(.*)$ /$1 [R=301,L]
RewriteRule ^administrator/ - [L]

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

При чем, совершенно непонятно, как на работу модуля влияют эти строчки. Ведь первая часть кода отвечает за устранение дублей с index.php в URL-адресах, вторая за склеивание зеркал сайта.

Также непонятна та ситуация, что если удалить только часть кода (первую или вторую), проблема не решается.

Возможно, эти строчки можно как-то переписать и комментарии заработают? Если нужно, могу показать весь файл .htaccess. Заранее благодарю за помощь.

J
На сайте с 07.10.2010
Offline
163
#1

Если кто-то реально поможет, возможно небольшое вознаграждение.

J
На сайте с 20.02.2014
Offline
120
jkm
#2
Jaroslav:
При чем, совершенно непонятно, как на работу модуля влияют эти строчки.

Данные формы отправляются методом POST. После получения 301 редиректа новый адрес запрашивается методом GET и все данные формы из предыдущего запроса теряются.

Есть два пути решения:

1) Использовать в правилах RewriteCond %{REQUEST_METHOD} ^GET$ [NC]

2) Поправить адрес в форме добавления комментария

J
На сайте с 07.10.2010
Offline
163
#3

jkm, не совсем понял, как в итоге должен выглядеть код в .htaccess?

J
На сайте с 20.02.2014
Offline
120
jkm
#4

Речь была о том, чтобы в правилах для редиректа делать дополнительную проверку, каким методом был сделан запрос.


RewriteCond %{REQUEST_METHOD} ^GET$ [NC]
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

RewriteCond %{REQUEST_METHOD} ^GET$ [NC]
RewriteRule ^index\.php/(.*)$ /$1 [R=301,L]

RewriteRule ^administrator/ - [L]

RewriteCond %{REQUEST_METHOD} ^GET$ [NC]
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
J
На сайте с 07.10.2010
Offline
163
#5
jkm:
Речь была о том, чтобы в правилах для редиректа делать дополнительную проверку, каким методом был сделан запрос.

к сожалению, не помогло. Вот весь код в файле .htaccess, который касается редиректов, не считая редиректов конкретных страниц:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
RewriteRule ^index\.php/(.*)$ /$1 [R=301,L]

RewriteRule ^administrator/ - [L]

RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

RewriteCond %{REQUEST_URI} \.html$
RewriteRule ^(.*)\.html$ /$1 [R,L]

Может, в нем что-то не так?

J
На сайте с 07.10.2010
Offline
163
#6

jkm, у вас личка закрыта.

vkusnoserver
На сайте с 30.04.2011
Offline
104
#7

Попробуйте добавить в .htaccess:

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

Отсюда

Там же есть решение без правки .htaccess, путем вставки кода в начало index.php:


// Получаем 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();
}
}
Скидки на хостинг (/ru/forum/629944) | Конфигуратор (http://www.vkusnoserver.ru/link.php?id=31) | Администрирование (/ru/forum/871196) CEO собственной персоной - skype: vkusnoandy
J
На сайте с 07.10.2010
Offline
163
#8

vkusnoserver, к сожалению, эти решения не помогли.

---------- Добавлено 12.08.2014 в 15:16 ----------

но на этом форуме, ссылку на который вы дали, нашел другое решение, которое помогло. Большое спасибо!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий