Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Вопрос по редиректу (http://forum.sape.ru/showthread.php?t=55072)

jekky25 05.07.2010 19:15

Вопрос по редиректу
 
нужно сделать редирект некоторых страниц одного сайта.

например с localhost/index.php?do=proba на http://www.newsite.ru/index25.php

пишу в .htaccess

Код:

RewriteEngine On

RewriteRule ^index.php?do=proba http://www.newsite.ru/index25.php
 [L,R=301]

ничего не работает, хотя если написать

Код:

RewriteEngine On

RewriteRule ^index.php http://www.newsite.ru/index25.php
 [L,R=301]

то со страницы http://localhost/index.php редирект производится.

кто может знать почему?

zhegloff 05.07.2010 19:20

Цитата:

Сообщение от jekky25 (Сообщение 852989)
кто может знать почему?

потому что служебные символы нужно экранировать...

jekky25 05.07.2010 19:36

я пытался вот так написать
Код:

RewriteRule ^index.php\?do=proba http://www.newsite.ru/index25.php [L,R=301]
как то не помогло. можете сказать где что исправить?

Киновредитель 05.07.2010 19:45

Цитата:

Сообщение от jekky25 (Сообщение 852989)
RewriteEngine On RewriteRule ^index.php?do=proba http://www.newsite.ru/index25.php [L,R=301]

наоборот переписать не пробовали? Например:
RewriteEngine On
RewriteRule ^index25.php$ index.php?do=proba [L]

:)

jekky25 05.07.2010 19:48

Цитата:

Сообщение от Киновредитель (Сообщение 853033)
наоборот переписать не пробовали? Например:
RewriteEngine On
RewriteRule ^index25.php$ index.php?do=proba [L]

:)

нет если чпу формировать так, то нормально, мне нужен редирект 301

Киновредитель 05.07.2010 19:51

Цитата:

Сообщение от jekky25 (Сообщение 853036)
мне нужен редирект 301

так если редирект 301 нужен то наверное нужно и писать что-то вроде:
Redirect 301 /index.php?do=proba http://www.newsite.ru/index25.php

DiAksID 05.07.2010 19:53

не путайте человека :cool:
Цитата:

Сообщение от jekky25 (Сообщение 852989)
... например с localhost/index.php?do=proba на http://www.newsite.ru/index25.php

Код:

RewriteEngine on
Options +FollowSymLinks
RewriteBase /

RewriteCond %{QUERY_STRING} ^do=proba$
RewriteRule ^index.php$ http://www.newsite.ru/index25.php [R=301,QSA,L]

и все дела...

jekky25 05.07.2010 20:04

Цитата:

Сообщение от DiAksID (Сообщение 853043)
не путайте человека :cool:


Код:

RewriteEngine on
Options +FollowSymLinks
RewriteBase /

RewriteCond %{QUERY_STRING} ^do=proba$
RewriteRule ^index.php$ http://www.newsite.ru/index25.php [R=301,QSA,L]

и все дела...

спасибо большое. вы мне очень помогли. еще один вопрос если я захочу перекидывать страницы с localhost/index.php?do=proba1, localhost/index.php?do=proba2 и т.д. на соотв. адреса http://www.newsite.ru/index1.php, http://www.newsite.ru/index2.php и т.д. как должен выглядеть код?

DiAksID 05.07.2010 20:20

Цитата:

Сообщение от jekky25 (Сообщение 853057)
... если я захочу перекидывать страницы с localhost/index.php?do=proba1, localhost/index.php?do=proba2 и т.д. на соотв. адреса http://www.newsite.ru/index1.php, http://www.newsite.ru/index2.php и т.д. как должен выглядеть код?

Код:

RewriteEngine on
Options +FollowSymLinks
RewriteBase /

RewriteCond %{QUERY_STRING} ^do=proba(.+)$
RewriteRule ^index.php$ http://www.newsite.ru/index?.php [R=301,QSA,L]

(.+) - хотя бы один символ
если хотите do=proba на index.php редиректить тогда (.*)
или (.?) - если их точно меньше 10 должно быть (для самоконтроля)

jekky25 05.07.2010 20:29

не получается. скидывает на http://www.newsite.ru/index?.php


Часовой пояс GMT +3, время: 10:31.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.