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

Karyuudo

  • Давно я тут
  • 370
  • 0
Нашел полно информации как удалять index, HTML, / и прочие.

А как сократить путь к статье? Что прописать в htaccess, чтобы вместо
сайт.ру/категория/подкатегория/id-материал
было
сайт.ру/id-материал
*

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

  • Практически профи
  • 1814
  • 138
Нашел полно информации как удалять index, HTML, / и прочие.

А как сократить путь к статье? Что прописать в htaccess, чтобы вместо
сайт.ру/категория/подкатегория/id-материал
было
сайт.ру/id-материал


Нужно видеть структуру Ваших каталогов и иметь доступ к Вашему сайту.
« Последнее редактирование: 29.10.2015, 11:52:50 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

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

  • Практически профи
  • 1814
  • 138
Ради интереса провёл "эксперимент". Установил чистую Joomla на локалку и написал выражение. Проверил — вроде работает, но за последствия не ручаюсь. Не претендую на истину в последней инстанции, может товарищи "постарше" подскажут вариант лучше. Использовал чистый джумловский .htaccess

Код
## 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

# Необходимо писать редиректы точно в этом месте
# Типичная ошибка новичков — добавлять директивы в начало или конец .htaccess

Код
# Убедимся, что это не файл
RewriteCond %{REQUEST_FILENAME} !-f [OR]

# Если это всё-таки файл, убедимся, что под исключения не попадает index.php, [NC] флаг отменяет регистрочувствительность
RewriteCond %{REQUEST_URI} ^/index\.php [NC]

# Проверим, что это не физическая директория
RewriteCond %{REQUEST_FILENAME} !-d

# index.php в URLе может быть, может и нет, как и субкатегория. Здесь теоретически может
# возникнуть неопределённость: под шаблон ^[^/]+/(\d+-[^/]+) могут попасть URLы, не
# относящиеся к материалам. Возможно, следует уточнить шаблон, но для этого необходимо
# знать структуру каталогов самого сайта; также можно добавить исключения
# в RewriteCond в зависимости от обстоятельств

RewriteRule ^(?:index\.php/)?(?:[^/]+/)?[^/]+/(\d+-[^/]+)$ /$1 [R=301,L,NC]

# Или более "радикальный" шаблон для субкатегорий любого уровня вложенности (см. пост ниже)
# RewriteRule ^(?:index\.php/)?(?:[^/]+/)+(\d+-[^/]+)$ /$1 [R=301,L,NC]
« Последнее редактирование: 06.10.2015, 02:45:40 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Karyuudo

  • Давно я тут
  • 370
  • 0
Спасибо, но что-то не работает. у вас какой URL?
у меня например такой, с ним не срабатывает
Цитировать
Неверное перенаправление на странице

Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
http://sait.ru/kategoriya/podkategoriya/15-nazvaniye-materiala


думаю может у меня что не так. но ввожу в калькулятор, он пишет ошибка
http://regexpres.narod.ru/calculator.html


а на другом сайте работает
http://htaccess.madewithlove.be/
« Последнее редактирование: 05.10.2015, 15:02:23 от Karyuudo »
*

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

  • Практически профи
  • 1814
  • 138
Спасибо, но что-то не работает. у вас какой URL?
у меня например такой, с ним не срабатываетhttp://sait.ru/kategoriya/podkategoriya/15-nazvaniye-materiala


думаю может у меня что не так. но ввожу в калькулятор, он пишет ошибка
http://regexpres.narod.ru/calculator.html

Если не работает, то попробуйте с родным .htaccess Joomla. Не забудьте только кэш браузера перед этим почистить. Может, ваши правила перебивают директивы. Структура каталогов у меня абсолютно такая же.
« Последнее редактирование: 05.10.2015, 15:00:51 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Karyuudo

  • Давно я тут
  • 370
  • 0
Если не работает, то попробуйте с родным .htaccess Joomla. Не забудьте только кэш браузера перед этим почистить. Может, ваши правила перебивают директивы. Структура каталогов у меня абсолютно такая же.
не пойму, что у меня не так.
1. скачал чистую Joomla 3.4.4
2. взял оттуда htaccess
3. загрузил в дирректорию сайта (локально)
4. переименовал с точкой.
5. после
Цитировать
## End - Custom redirects
вставил Ваш код (далее идет
Цитировать
##
# Uncomment following line if your webserver's URL)
6. открываю страницу
Цитировать
Firefox определил, что сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится.
в админке выставлено следующее:
Цитировать
Включить SEF (ЧПУ) - да
Перенаправление URL - да
Добавлять суффикс к URL - нт
Алиасы в Unicode - нет
пробовал менять, тож не работает. (кэш вообще отключен)

хотя само поидее должно выражение работать, я проверил тут урлы своего сайта - все ок, сокращает:
http://htaccess.madewithlove.be/
« Последнее редактирование: 05.10.2015, 15:18:19 от Karyuudo »
*

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

  • Практически профи
  • 1814
  • 138

хотя само поидее должно выражение работать, я проверил тут урлы своего сайта - все ок, сокращает:
http://htaccess.madewithlove.be/

Ну... и я о том же! Вот посмотрите демо-сайт Joomla 3 на котором я ставил опыты, всё сокращается как надо: ссылка. Выкладываю полностью .htaccess

Спойлер
[свернуть]

Может вы не до конца очистили кэш браузера? Попробуйте удалить всю историю полностью и перезагрузить браузер, или воспользуйтесь другим браузером. Если и после этого не работает, то тут надо выяснять в индивидуальном порядке.
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

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

  • Практически профи
  • 1814
  • 138
Сегодня снова вернулся к своим "опытам". Дублей страниц материалов в стандартной структуре каталогов насчитал немерено. Например, в стандартной демонстрашке есть статья про коалу, которая открывается по ссылке:

Код
http://site.ru/image-gallery/animals/25-koala

Данная статья доступна также по следующим пятнадцати(!) URL:

Код
http://site.ru/image-gallery/25-koala
http://site.ru/animals/25-koala
http://site.ru/25-koala
http://site.ru/photo-gallery/animals/25-koala
http://site.ru/park-site/photo-gallery/animals/25-koala
http://site.ru/park-site/animals/25-koala
http://site.ru/park-site/25-koala
http://site.ru/72-sample-data-articles/park-site/photo-gallery/animals/25-koala
http://site.ru/72-sample-data-articles/photo-gallery/animals/25-koala
http://site.ru/72-sample-data-articles/park-site/animals/25-koala
http://site.ru/72-sample-data-articles/animals/25-koala
http://site.ru/72-sample-data-articles/park-site/animals/25-koala
http://site.ru/72-sample-data-articles/park-site/photo-gallery/25-koala
http://site.ru/72-sample-data-articles/park-site/25-koala
http://site.ru/72-sample-data-articles/25-koala

В связи с чем, я написал более радикальный шаблон, который "рубит" любую комбинацию категорий разного уровня вложенности, перенаправляя все эти адреса на единственный желаемый вариант, в данном случае это:

Код
http://site.ru/25-koala

Новый шаблон:

Код
# Эту директиву надо поместить вместо старого RewriteRule; всё остальное оставить прежним
RewriteRule ^(?:index\.php/)?(?:[^/]+/)+(\d+-[^/]+)$ /$1 [R=301,L,NC]
« Последнее редактирование: 06.10.2015, 02:34:45 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

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

  • Практически профи
  • 1814
  • 138
Также обратите внимание на канонический URL! В случае с коалой он таков:
Код
http://site.ru/72-sample-data-articles/park-site/photo-gallery/animals/25-koala
То есть при оптимизации каталогов, если материал не привязан к определённому пункту меню, необходимо также править ссылки и ставить канонический <link> средствами PHP. Для этой цели лучше всего написать собственный SEF плагин. Конечно, есть, готовые решения типа sh404SEF, однако лучше использовать родной SEF плагин Joomla в связке с собственными скриптами, потому что любой сторонний плагин SEF — это тяжеловесный танк (на все случаи жизни), который может сильно замедлять сервер.
« Последнее редактирование: 06.10.2015, 03:18:20 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

Karyuudo

  • Давно я тут
  • 370
  • 0
Причина в том, что не работала - плагин JL No doubles
вопрос еще один, для другого сайта:
просто сократить ссылку, "убрав каталог корневой" вроде бы так как я понял:
Код
RewriteRule (.*)(katalog/)(.*) /$1$3 [R=301,L,NC]
однако при переходе, пишут, что страница не найдена. VirtueMart. видимо не совместимо? короче лучше не заморачиваться?
*

voland

  • Профи
  • 9497
  • 422
  • Эта строка съедает место на вашем мониторе
*

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

  • Практически профи
  • 1814
  • 138
Причина в том, что не работала - плагин JL No doubles
вопрос еще один, для другого сайта:
просто сократить ссылку, "убрав каталог корневой" вроде бы так как я понял:
Код
RewriteRule (.*)(katalog/)(.*) /$1$3 [R=301,L,NC]
однако при переходе, пишут, что страница не найдена. VirtueMart. видимо не совместимо? короче лучше не заморачиваться?
Напишите ссылку и желаемый результат перенаправления или попробуйте использовать плагин, предложенный Воландом.
« Последнее редактирование: 09.10.2015, 21:28:56 от Филипп Сорокин »
Ставь лайк, если согласен, и делай репост!

  => мои публикации
    => мои работы
      => спектр моих услуг
*

robert

  • Профи
  • 4075
  • 376
просто сократить ссылку, "убрав каталог корневой" вроде бы так как я понял:
однако при переходе, пишут, что страница не найдена.
Конечно. Нельзя удалять все, что вам не нравится.
Представьте, что вам поручено найти дом с помощью такой строки:
страна=россия&город=москва&улица=ленина&дом=333.
Но ее вид почему-то не нравится поручителям и они решили сократить ее до
р/м/л/333
Все хорошо, дом все равно еще может быть найден.
Но потом они пошли дальше, сократив строку до
м/л/333
Теперь вам пипец! :(
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.
*

Karyuudo

  • Давно я тут
  • 370
  • 0
Плагин Direct Alias
хотел удалить:
component/tags/tag/
Не удаляет что-то..

jlnodoubles отключил..


нашел выход! нудно создать пункт меню и присвоить ему метки
« Последнее редактирование: 16.11.2015, 00:39:13 от Karyuudo »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Joomla 3.8.0] Редирект с id на БЕЗ id

Автор ELLE

Ответов: 2
Просмотров: 31
Последний ответ Сегодня в 01:34:49
от dmitry_stas
Как лучше сделать при заполнении тегов? (SEO оптимизация)

Автор Zhanadil1509

Ответов: 9
Просмотров: 133
Последний ответ 22.08.2017, 07:40:20
от Zhanadil1509
Htaccess и редирект с index.php на без index.php

Автор PavelK

Ответов: 1
Просмотров: 137
Последний ответ 01.08.2017, 04:37:50
от voland
редирект 301

Автор UN_Tony

Ответов: 1
Просмотров: 165
Последний ответ 12.07.2017, 21:29:10
от flyingspook
сложный редирект

Автор Фей

Ответов: 0
Просмотров: 120
Последний ответ 06.07.2017, 23:31:46
от Фей