Помогите с редиректом

sh00m
На сайте с 14.09.2009
Offline
35
381

Не получается сделать переход. Есть много ссылок, которые генерирует сторонний модуль, вида:

http://site.ru/send.php?info.html?id=12345ххх

Хочу сделать через .htaccess переход на http://site.ru/12345ххх

Подскажите, пожалуйста, как решить данную задачу и возможно ли.

Услуги перевода: английский, немецкий, китайский языки (/ru/forum/640314).
I
На сайте с 06.08.2012
Offline
1
#1
sh00m:
Не получается сделать переход. Есть много ссылок, которые генерирует сторонний модуль, вида:

http://site.ru/send.php?info.html?id=12345ххх

Хочу сделать через .htaccess переход на http://site.ru/12345ххх

Подскажите, пожалуйста, как решить данную задачу и возможно ли.

В вашем случае логичнее всего сделать редирект через PHP.

PS: момент, появилась идея.

PPS: в общем, спустя час я додумался лишь до такого:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /send\.php\?(.*)\?id=([^&]+)\ HTTP/

RewriteRule ^send\.php$ http://test/%2 [R=301,L]

http://test/send.php?info.html?id=123 >>> http://test/123?info.html?id=123

Остался только трэшняк после вопросительного знака и слишком широкие условия парсинга. Впрочем, если делаете для себя, а не для юзеров, второе не столь весомо.

Специфическая у вас задачка ммм... С двумя вопросительными знаками-то...

Надеюсь, кто-нибудь более шарящий в .htaccess поможет допилить.

A1
На сайте с 27.02.2009
Offline
30
#2

я решил так:

$result = preg_replace('%","http://www\.site\.com/test\.html\?id=(\d*)","%si', '","/$1","', $result);

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