Редикт, ещё одна тема

12
GA
На сайте с 16.06.2013
Offline
61
1088

Форумчане, знаю, что это уже 101, если не 1001, тема про то, как прописать правильно редирект, но всё же требуется помощь, т.к. чтение руководства не помогло...

Для начала, редирект делаю на php (хотя для общего правила это вроде не имеет значения)

Значит имеются категории и материалы, категорий всего 5, так что там без регулярных выражений просто в лоб сделал, а вот с материала так не хочу, их около 100 стр.

Итак, сейчас страница на материал имеет вид:

domen/category_name/ID-material-name , т.е. по серединке название категории, к которой относится материал, далее цифровой ИД, чёрточка и название материала, пробел заменяется именно чёрточками. Джумловские ссылки

Нужно:

domen/item/material-name , т.е. название категории заменить на универсальный слаг item, который будет всегда неизменный, ID- - убираем, оставляем только material-name

M
На сайте с 15.03.2012
Offline
101
#1
Green arrow:
Для начала, редирект делаю на php (хотя для общего правила это вроде не имеет значения)

имеет.

Для вашего случая проще через htaccess

RewriteRule ^[^/]+\/\d+-(.*)& /item/$1 - что-то типа такого

GA
На сайте с 16.06.2013
Offline
61
#2
Moltisanti:
имеет.

Для вашего случая проще через htaccess
RewriteRule ^[^/]+\/\d+-(.*)& /item/$1 - что-то типа такого

d+ - это что такое?

да можно и через htaccess, мне не принципиально

M
На сайте с 15.03.2012
Offline
101
#3
Green arrow:
d+ - это что такое?

\d+ - это 1 или более идущих друг за другом цифр

GA
На сайте с 16.06.2013
Offline
61
#4

нет, не реагирует на такое правило, ещё есть варианты?

M
На сайте с 04.12.2013
Offline
223
#5

Не уловил суть вопроса. Ну, сделали вы на php, поздравляю.

Прежде чем убирать ID, подумайте, не будет ли у вас из-за этого в будущем проблем.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
GA
На сайте с 16.06.2013
Offline
61
#6
miketomlin:
Не уловил суть вопроса. Ну, сделали вы на php, поздравляю.

Прежде чем убирать ID, подумайте, не будет ли у вас из-за этого в будущем проблем.

ну прочтите ещё раз, я говорю, что не вышло у меня, так что не понятно с чем вы поздравляете...

вариант, который выше кидали для htaccess тоже ничего не дал

о каких проблемах вы вообще говорите? движок меняется, или вы это просто так написали типа теоретическое высказывание

M
На сайте с 04.12.2013
Offline
223
#7

В приведенном правиле есть неточности, к тому же это рерайт, а не редирект, т.к. не хватает соответствующего флажка.

ID не просто так придуман. Он позволяет в автоматическом режиме делать перенаправление на последнюю редакцию статьи, когда меняется ее заголовок и адрес.

GA
На сайте с 16.06.2013
Offline
61
#8
miketomlin:
В приведенном правиле есть неточности, к тому же это рерайт, а не редирект, т.к. не хватает соответствующего флажка.

ID не просто так придуман. Он позволяет в автоматическом режиме делать перенаправление на последнюю редакцию статьи, когда меняется ее заголовок и адрес.

ну так вы знаете конкретно какие неточности и можете показать правильный с вашей точки зрения вариант?

спасибо за инфу по поводу ID, но ещё раз повторяюсь, данный момент не нуждается в обсуждении, в новом движке не будет редакций, ИД в урлах вообще не используется, работает по другому короче

M
На сайте с 04.12.2013
Offline
223
#9

Только то, что бросается в глаза:

- слеш не нужно экранировать;

- амперсент заменить на доллар;

- ну, и не помешает условие "если не item..."

M
На сайте с 15.03.2012
Offline
101
#10
miketomlin:
Только то, что бросается в глаза:
- слеш не нужно экранировать;
- амперсент заменить на доллар;
- ну, и не помешает условие "если не item..."

тьфу

RewriteRule ^[^/]+/\d+-(.*)$ /item/$1 [R=301]

попробуйте так

12

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