Здрасьте Проблема такая: Нужно строчку a.php?b=c/d.php заменить на e.php?f=g.php через RewriteRule Пробовал: RewriteRule ^a\.php\?b\=c/d\.php$ e.php?f=g.php не идет. Конечно ссылка кривая и не ЧПУ, но такой уж сайт. Сначала сделали криво, потом раскрутили и раскрутчики просят ссылки на сайте не менять, но теперь это нужно. Поэтому только через RewriteRule. Скажите, где я налажал?
В файле a.php пропиши: PHP: <? if (isset($_GET['b']) and $_GET['b']){ header('HTTP/1.0 301 Moved Permanently'); // перемещено навсегда, говорим мы браузерам и поисковикам header('Location: e.php?f='.$_GET['b']); // собственно, перемещаем exit; // тормозим скрипт, чтобы всё, что ниже не исполнялось } И никакой mod_rewrite не нужен.
Пробовал, с header не прет: Warning: Cannot modify header information - headers already sent by (output started at index.php:1) in index.php on line 1
Legos файл скрипта юникодовый? в блокноте виндовом сохранял? либо был другой вывод в браузер до посылки хедера
Юникод, исправил на анси - все заработало Спасибо. Но проблема не совсем решена. Сейчас происходит перенаправление на нужную страницу. Нужно же сделать, чтобы перенаправления не было, а было как с mod_rewrite. То есть чтобы адрес страницы не менялся.
http://www.egoroff.spb.ru/portfolio/apa ... guide.html - тут обьясняется на примерах "задача - решение". На этом форуме не раз обсуждали и тему с RewriteRule и знаком вопроса в условии. Совершенно нет интереса тупо писать готовое решение, чтобы ты написал "спасибо", а через два месяца пришёл ещё кто-то и начал задавать тот же вопрос.