Новости Joomla

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

GTpro

  • Захожу иногда
  • 102
  • 1 / 0
Есть такой дубль: site.ru//

Можно ли убить лишнюю палочку в htaccess ?
Или есть другие способы решения проблемы?
« Последнее редактирование: 26.02.2015, 15:44:01 от GTpro »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
апну топик, ибо актуально

Код
RewriteCond %{REQUEST_URI} ^(.*[^/])/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteCond %{THE_REQUEST} \s/{2,}(.*)\s
RewriteRule .* %1 [R=301,L]
это убирает повторяющиеся слэши в середине URL, но не в конце

как убрать двойной слеш именно в конце URL?
*

draff

  • Гуру
  • 5803
  • 434 / 7
  • ищу работу
Код
RewriteCond %{THE_REQUEST_URI} /{2,}$
« Последнее редактирование: 13.07.2016, 05:17:43 от draff »
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
не катит
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
нужно оставить только один слеш
впрочем необязательно, далее по коду все равно идет добавление одного слеша в конце при его отсутствии
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
А главная страница сайта тоже должна быть со слэшем на конце?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
да, если слеш добавляется в конец - он везде добавляется, где нет get-параметров
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
В теории должно сработать, хотя Joomla-вские алиасы, вроде, идут всегда без слэша на конце -- получится лишний редирект при каждом переходе по ссылкам, например, меню, т.е. лишняя нагрузка на сервер:

Код
RewriteCond %{THE_REQUEST} " /(?|/+|(.+?/)/+) "
RewriteRule .? /%1 [R=303,L]
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
увы, не помогло (
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Проверил у себя на локальном сервере -- работает. Редиректы чистили в кэше?
*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
У меня заработала только такая связка, убираешь что-то одно - перестает работать

Код
RewriteCond %{REQUEST_URI} ^(.*[^/])/{2,}(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteCond %{THE_REQUEST} \s/{2,}(.*)\s
RewriteCond %{THE_REQUEST_URI} /{2,}$
RewriteRule .* %1 [R=301,L]
RewriteCond %{THE_REQUEST} " /(?|/+|(.+?/)/+) "
RewriteRule .? /%1 [R=303,L]
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
Цитировать
%{THE_REQUEST_URI}
Согласно руководству пользователя, такой переменной не существует: http://httpd.apache.org/docs/current/mod/mod_rewrite.html, так что эту строку, мне кажется, можно выпилить, как и предшествующую ей, а также само правило:

Цитировать
RewriteCond %{THE_REQUEST} \s/{2,}(.*)\s
RewriteCond %{THE_REQUEST_URI} /{2,}$
RewriteRule .* %1 [R=301,L]

А код 303 после проверки можете изменить на 301 -- просто 301-е редиректы кэшируются, что делает неудобным тестирование.
« Последнее редактирование: 12.07.2016, 00:22:14 от Филипп Сорокин »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Htaccess и редирект с index.php на без index.php

Автор PavelK

Ответов: 2
Просмотров: 2794
Последний ответ 11.05.2023, 14:31:40
от PaLyCH
Редирект - исключение из правил (слэш)

Автор darkghost

Ответов: 0
Просмотров: 1164
Последний ответ 26.08.2022, 12:54:19
от darkghost
Site map

Автор Edward_m

Ответов: 19
Просмотров: 1562
Последний ответ 01.08.2020, 19:05:22
от SeBun
Языки /en/ /ru/ проблема с входом в админку и редиректит на site.r/ru/robots.txt

Автор HolySong

Ответов: 0
Просмотров: 665
Последний ответ 10.07.2020, 13:12:46
от HolySong
htaccess редирект с страницы на страницу только для поисковых ботов

Автор wishlight

Ответов: 1
Просмотров: 1618
Последний ответ 13.11.2019, 18:28:35
от voland