Редирект с папок на файлы .htacess

advertstar
На сайте с 05.04.2009
Offline
90
850

Помогите, пожалуйста, разобраться, как сделать редирект с папок на файлы,

похожая тема: /ru/forum/608852 (старая, уже не апнуть).

Пример оттуда: нужно было с папки traffs чтобы перекидывало на traffs.html

RewriteEngine on

RewriteRule ^tariffs/$ http://site.ru/tariffs.html [R=301,L]

Мне же нужно переправить не с одной папки на файл, а с нескольких,

Например:

с PAGE/01 на page01.html

С PAGE/02 на page02.html и.т.д. - папок очень много + подкаталоги, можно как-то сделать с минимум текста?

[umka]
На сайте с 25.05.2008
Offline
456
#1
advertstar:
Помогите, пожалуйста, разобраться, как сделать редирект с папок на файлы,

похожая тема: /ru/forum/608852 (старая, уже не апнуть).

Пример оттуда: нужно было с папки traffs чтобы перекидывало на traffs.html



Мне же нужно переправить не с одной папки на файл, а с нескольких,

Например:

с PAGE/01 на page01.html
С PAGE/02 на page02.html и.т.д. - папок очень много + подкаталоги, можно как-то сделать с минимум текста?

Если эти директории нельзя объединить по какому-то общему признаку, или хотя бы выделить группы директорий по общему признаку, то только составлять список вручную.

Если же можно, как в вашем примере, то правило будет такое:

RewriteRule ^PAGE/(\d+)$ /page$1.html [R=301,L]

Лог в помощь!
advertstar
На сайте с 05.04.2009
Offline
90
#2
'[umka:
;11239561']Если эти директории нельзя объединить по какому-то общему признаку, или хотя бы выделить группы директорий по общему признаку, то только составлять список вручную.
Если же можно, как в вашем примере, то правило будет такое:
RewriteRule ^PAGE/(\d+)$ /page$1.html [R=301,L]

Спасибо, да именно ссылки вида

site.ru/PAGE

site.ru/PAGE/01/

site.ru/PAGE/02/

И.т.д.

Надо чтобы он и подкаталог (когда PAGE/10 становится просто в корне page10.html) перенаправлял.

Все они одинакового вида. только с цифрами.

Попробовал сейчас так, не меняет:

RewriteEngine on

RewriteRule ^PAGE/(\d+)$ http://site.ru/page$1.html [R=301,L]

[umka]
На сайте с 25.05.2008
Offline
456
#3

Если на конце слэш, то, соответственно:

RewriteRule ^PAGE/(\d+)/$ http://site.ru/page$1.html [R=301,L]

и для каждого "PAGE" своё правило.

Вот это не совсем понятно :)

Надо чтобы он и подкаталог (когда PAGE/10 ставновится просто в корне page1-.html) перенаправлял.
advertstar
На сайте с 05.04.2009
Offline
90
#4
'[umka:
;11239606']Если на конце слэш, то, соответственно:
RewriteRule ^PAGE/(\d+)/$ http://site.ru/page$1.html [R=301,L]
и для каждого "PAGE" своё правило.

Вот это не совсем понятно :)

Попробовал - пока не получается.

Страницы имеют вид:

site.ru/page/234/

Нужно чтобы он перенаправлял на site.ru/page234.html

А если site.ru/page/123/ то на site.ru/page123.html и.т.п.

[umka]
На сайте с 25.05.2008
Offline
456
#5
advertstar:
Попробовал - пока не получается.

Страницы имеют вид:

site.ru/page/234/

Нужно чтобы он перенаправлял на site.ru/page234.html

А если site.ru/page/123/ то на site.ru/page123.html и.т.п.

Если под "page" вы имеете в виду "какую-то произвольную последовательность символов", а не слово "page", то так:

RewriteRule ^([^/]+)/(\d+)/$ http://site.ru/$1$2.html [R=301,L]

advertstar
На сайте с 05.04.2009
Offline
90
#6
'[umka:
;11239691']Если под "page" вы имеете в виду "какую-то произвольную последовательность символов", а не слово "page", то так:

RewriteRule ^([^/]+)/(\d+)/$ http://site.ru/$1$2.html [R=301,L]

Нет, там именно page, но и так сработало! Большое спасибо!

Последний вопрос, был бы очень признателен,

Можно ли также сделать с site.ru/proizvolno/proizvolno/

Превращался бы в proizvolno-proizvolno.htlm ?

То есть например site.ru/games/flash/

В site.ru/games-flash.html ?

Имена папок совершенно разные.

[umka]
На сайте с 25.05.2008
Offline
456
#7
advertstar:
Нет, там именно page, но и так сработало! Большое спасибо!

Тогда оставьте со словом "page", только напишите в нужном регистре, потому что с точки зрения компьютера "page" != "PAGE".

advertstar:
Последний вопрос, был бы очень признателен,

Можно ли также сделать с site.ru/proizvolno/proizvolno/

Превращался бы в proizvolno-proizvolno.htlm ?

То есть например site.ru/games/flash/

В site.ru/games-flash.html ?

Имена папок совершенно разные.

RewriteRule ^([^/]+)/([^/]+)/$ /$1-$2.html [R=301,L]

Но это правило, по понятным причинам, должно следовать после правила с "page".

advertstar
На сайте с 05.04.2009
Offline
90
#8

[umka], все заработало, еще раз спасибо! :)

Редирект большого количества папок на файлы html (на будущее - если кто будет искать).

дани мапов
На сайте с 06.09.2012
Offline
204
#9

А где ссылка?

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)

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