htaccess кто поможет?

dronemo
На сайте с 17.10.2007
Offline
69
589

Есть сайт www.edengarden.ru/archive

как мне сделать так, чтобы пользователь переходя допустим по ссылке

http://www.edengarden.ru/modules.php?name=News&sid=847

переадресовывался на http://www.edengarden.ru/archive/modules.php?name=News&sid=847

glab
На сайте с 10.09.2008
Offline
42
#1

Почитай про RedirectMatch.

Она позволяет сделать редирект с использованием регулярного выражения.

malls
На сайте с 08.08.2005
Offline
255
#2

Как то так наверное:

RewriteEngine on

RewriteBase /

RewriteRule ^/modules.php(.*)$ /archive/modules.php [L,QSA]

ЗЫ: ошибки возможны!

ЗЫЗЫ: L - отменяет все последующие правила

ЗЫЗЫЗЫ: QSA - сохраняет строку запроса

dronemo
На сайте с 17.10.2007
Offline
69
#3

Как то так наверное:

RewriteEngine on
RewriteBase /
RewriteRule ^/modules.php(.*)$ /archive/modules.php [L,QSA]

ЗЫ: ошибки возможны!
ЗЫЗЫ: L - отменяет все последующие правила
ЗЫЗЫЗЫ: QSA - сохраняет строку запроса

Спасибо за ответ 🍻 , но непомогло. Вообще в htaccess не шарю и тем более в регулярных выражениях. Может ещё вариант будет?

[Удален]
#4
RewriteEngine on
RewriteRule ^modules.php /archive/modules.php?%{QUERY_STRING} [L,QSA]

предположу такой вариант ))

malls
На сайте с 08.08.2005
Offline
255
#5
dronemo:
Спасибо за ответ 🍻 , но непомогло. Вообще в htaccess не шарю и тем более в регулярных выражениях. Может ещё вариант будет?

Со слешами можно помудрить... Там явно первый лишний ну и т.п. - тестировать надо...

malls добавил 16.11.2009 в 22:10

bearman:
предположу такой вариант ))

Бир - а нафига {QUERY_STRING} если QSA по определению весь запрос редиректит???

Suvo
На сайте с 15.01.2008
Offline
119
#6

RewriteEngine on

RewriteRule ^archive/modules.php?name=News&sid=847$ modules.php?name=News&sid=847 [L]

т.е. при вводе в браузере урла

http://www.edengarden.ru/modules.php?name=News&sid=847

откроется вот этот

http://www.edengarden.ru/archive/modules.php?name=News&sid=847

Пример конкретно для данного случая.

dronemo
На сайте с 17.10.2007
Offline
69
#7

Suvo, а у меня sid от 1 до 847

не все же прописывать

bearman, ваш вариант наиболее удачен =) но он отрывает только главную страницу, да и картинки от подгружает не из archive/ а из корня

помотрите сами http://www.edengarden.ru/modules.php?name=News&sid=847

Suvo
На сайте с 15.01.2008
Offline
119
#8
dronemo:
Suvo, а у меня sid от 1 до 847

не все же прописывать

bearman, ваш вариант наиболее удачен =) но он отрывает только главную страницу, да и картинки от подгружает не из archive/ а из корня

помотрите сами http://www.edengarden.ru/modules.php?name=News&sid=847

если у Вас sid от 1 до 847 и Вы хотите это решить с помощью .htaccess то Вам действительно придеться прописывать 847 правил.

А в остальном вопросы к программистам :)

[Удален]
#9

dronemo, реврайтнуть пути можно с помощью <base href="" />

погуглите :)

а откурывает вроде бы все ... или я не то смотрел?

K
На сайте с 31.08.2006
Offline
47
#10

RewriteCond %{HTTP_REFERER} http://www.edengarden.ru/archive*

RewriteRule ^/modules.php?name=(.*)&sid=(.*)$ http://www.edengarden.ru/archive/modules.php?name=$1&sid=$2

Где-то так (хотя, я думаю, должно заработать сразу). За 100%-ную работоспособность не отвечаю, но направление точно правильное.

Тем, кто писал что такое невозможно, и что нужно писать 840 правил - респект за глубокие знания. Я понимаю, что думать для кого-то влом, но зачем же писать то, в чем неуверен?

Размещаем статьи - Украинское СМИ, ПР5, ТИЦ 3000, ЯК, ДМОЗ, домену > 10 лет (/ru/forum/416715)

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