Реклама на сайте Advertise with us

RewriteRule для N-го числа совпадений в запросе

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

📈sflash.biz

С нами с 03.11.12
Сообщения: 3913
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 11/08/16 в 14:58       Ответить с цитатойцитата 

Подскажите, можно ли одной строчкой записать такое бесконечное правило?
Код:
RewriteRule ^([^/]+).html$ $1/ [R=301,L]
RewriteRule ^([^/]+)/([^/]+).html$ $1_$2 [R=301,L]
RewriteRule ^([^/]+)/([^/]+)/([^\/]+).html$ $1_$2_$3 [R=301,L]
...
RewriteRule ^([^/]+)/([^/]+)/([^\/]+) ... /([^\/]+).html$ $1_$2_$3 ... _$n  [R=301,L]

0
 



С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032


Передовик Master-X (16.11.2012)
Ссылка на сообщениеДобавлено: 12/08/16 в 15:35       Ответить с цитатойцитата 

Попробуй так

Код:

RewriteRule (.*)/(.*)/(.*) $1_$2/$3 [L]
RewriteRule (.*)/(.*) $1_$2 [R=301]


Суть
- цикл пока есть два слеша
- когда остался только один слеш, заменяем его и делаем редирект

У меня такая конструкция работает под апачем 2.4.7.

apache, bash, css, elasticsearch, ffmpeg, html, js, mysql, mongo, nginx, php; *nix only

9
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »