как сделать 301 редирект без использования htacces?

basterr
На сайте с 24.11.2005
Offline
715
1330

собственно нужно сделать 301 редирект, без htacces и желательно без php - такое возможно? если возможно, то просвятите. если невозможно без php, то подскажите как на php тогда сделать. мне просто нужно cms на сайте поменять и для каждой страницы прописать 301 редирект на новый адрес страницы. или может есть какой-то другой способ безболезненно на др. cms перейти?

заранее спасибо.

Shema
На сайте с 01.12.2005
Offline
176
#1

Гм... а что у Вас есть? Чистый html? или просто другой серверный язык?

Средствами html/js это сделать нельзя.

Студия Design Coda (http://www.designcoda.ru/). Личные контакты: +7(903)1367564, skype:andrey.oshemkov, telegram:@oshemkov. WMID: 492025973671 (https://passport.webmoney.ru/asp/certview4.asp?wmid=492025973671), делаем и рекламируем сайты, мобильные приложения, ботов для Telegram.
basterr
На сайте с 24.11.2005
Offline
715
#2

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

хотя впринципе может и в цикле можно будет через htaccec, напишите плз примерчик как можно написать через мод реврайт что-то типа такого:

если страница http://site.ru/1.php (там, где один может быть от 1 до 50 допустим) тогда 301 редирект на http//site.ru/2_.php (там, где 2 php может быть от 2 до 52)

//т.е. со страницы 1.php нужно редиректить на 2_.php, с 2.php на 3_.php и т.п.

если страница http://site.ru/100.php (от сотни до 200) тогда 301 редирект на http://site.ru/110_.php (от 110 до 210)

и т.п.

незнаю, понятно-ли я выражаюсь, наверное не очень))) но может кто-нить поймет - на цифра и адреса страниц не смотрите, это пример естественно - но приблизительно что-то типа такого нужно написать.

Shema
На сайте с 01.12.2005
Offline
176
#3

Если требование "без htacces" снять, то проблема решается легко.

RewriteRule ^1.php /2.php [L,R=301]

RewriteRule ^2.php /3.php [L,R=301]

...

RewriteRule ^50.php /51.php [L,R=301]

Напишите простую программу на скриптовом языке, которая сгенерит Вам нужный .htaccess файл.

В принципе можно заставить и mod_rewrite выполнять арифметические операции средствами серверных языков, например, perl, но если количество правил конечно, то проще сгенерить статичный .htaccess

Примеры есть тут:

http://httpd.apache.org/docs/1.3/misc/rewriteguide.html

basterr
На сайте с 24.11.2005
Offline
715
#4
Shema:
RewriteRule ^1.php /2.php [L,R=301]
RewriteRule ^2.php /3.php [L,R=301]
...
RewriteRule ^50.php /51.php [L,R=301]

спасибо, это должно подойти. количество правил конечно - штук 20-30. хех, всмысле 200-300)))

сейчас попробую.

basterr
На сайте с 24.11.2005
Offline
715
#5

странно, что-то не работает почему-то, пишу так:

RewriteEngine on

RewriteRule ^articles.php?lng=ru&pg=464 /page.php?id=224 [L,R=301]

RewriteRule ^articles.php?lng=ru&pg=462 /page.php?id=222 [L,R=301]

RewriteRule ^articles.php?lng=ru&pg=463 /page.php?id=223 [L,R=301]

RewriteRule ^articles.php?lng=ru&pg=466 /page.php?id=226 [L,R=301]

RewriteRule ^articles.php?lng=ru&pg=465 /page.php?id=225 [L,R=301]

где ошибка?

Russian
На сайте с 10.12.2005
Offline
69
#6

На PHP:

<?php

header("HTTP/1.1 301 Moved Permanently");
header("Location: /newpath/newfile.html");
exit();
?>
3dn
На сайте с 15.03.2006
Offline
47
3dn
#7

basterr, ошибка может быть в том, что у вас articles.php находится в папке... а ^articles указывает, что урл должен начинаться с "a". Кроме того нужно экранировать специальный символы типа "?". А может у вас на хостинге просто нет поддержки mod_rewrite

Может вы не знали, но такие вот правила доволно сильно добавляют работы серверу.... получается что при каждом запросе к сайту апач должен проверить все ваши правила (и такое происходит для каждой картинки). Получается чтобы 1 раз пользователь просмотрел страницу, апачу приходится делать проверку по каждому правилу раз 10+.

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