Как сделать редирект с / на .html?

12
immo
На сайте с 10.04.2010
Offline
168
745

Переношу сайт с вп на ДЛЕ, нужно сделать редиректы со старых урлов на новые, урлы будут идетичны за исключением окончания. Как сделать редиректы?

зы. Есть ли какойто вариант сделать все несколькими строчками в htaccess или надо каждому урлу писать свой редирект?

Заранее спасибо за помощь.

Продвижение коммерческих сайтов в МСК от 16 т.р. Гарантии и отзывы. Опыт более 11 лет. WebGard.ru
Himiko
На сайте с 28.08.2008
Offline
560
#1
Профессиональное администрирование серверов (https://systemintegra.ru). Круглосуточно. Отзывы (/ru/forum/834230) Лицензии (http://clck.ru/Qhf5) ISPManager,VDSManager,Billmanager e.t.c. по низким ценам.
immo
На сайте с 10.04.2010
Offline
168
#2

Himiko, absolutely...

Himiko
На сайте с 28.08.2008
Offline
560
#3

К примеру:

RewriteEngine On

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

immo
На сайте с 10.04.2010
Offline
168
#4

А категории не будут на .html редиректится?

Himiko
На сайте с 28.08.2008
Offline
560
#5
immo:
А категории не будут на .html редиректится?

Будут.

Нужно определиться, как сервер будет определять, когда нужно делать редирект, а когда нет.

К примеру, у вас все ссылки вида http://site.ru/категория/страница/ ? Или всё же есть https://site.ru/страница/ ?

Кроме этого, адреса вида Http://site.ru/страница (без / в конце) редиректиться не будут.

Если всегда ссылки вида http://site.ru/категория/страница/, то можно:

RewriteEngine On
RewriteRule ^(.*)/(.*)/$ /$2.html [R=301,L]

В итоге http://site.ru/категория/страница/ будет перенаправлен на http://site.ru/страница.html

Если нужно http://site.ru/категория/страница/ -> http://site.ru/категория/страница.html, то:

RewriteEngine On
RewriteRule ^(.*)/(.*)/$ /$1/$2.html [R=301,L]

И у http://site.ru/категория/ редиректа тогда не будет.

immo
На сайте с 10.04.2010
Offline
168
#6

Himiko, У меня site.ru/stranica/ -> site.ru/stranica.html

Как я понимаю тут надо для каждого урла делать свой редирект.

Можете дать маску по которой делать?

Himiko
На сайте с 28.08.2008
Offline
560
#7
immo:
Himiko, У меня site.ru/stranica/ -> site.ru/stranica.html
Как я понимаю тут надо для каждого урла делать свой редирект.

Можете дать маску по которой делать?

RewriteRule ^stranica/$ /stranica.html [R=301,L]

immo
На сайте с 10.04.2010
Offline
168
#8

Himiko, а можете еще подсказать как сделать редирект с site.ru/category/avto/ на site.ru/avto/ ?

Himiko
На сайте с 28.08.2008
Offline
560
#9
immo:
Himiko, а можете еще подсказать как сделать редирект с site.ru/category/avto/ на site.ru/avto/ ?

Да точно так же

RewriteRule ^category/avto/$ /avto/ [R=301,L]

[Удален]
#10

А подскажите, пожалуйста, как преобразовать

http://site.ru/страница

в

http://site.ru/index.php&id=страница

Пробую вот это

RewriteEngine On

RewriteRule ^/([A-Za-z0-9_-]+)$ ./index.php?id=$1 [L]

но что-то не работает :(

правда, пробую на локалхосте на денвере - может, поэтому?

12

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