CodeIgniter - правильный редирект

sanu0074

Новичок
Если раньше страницы сайта выглядели в так: http://site.ru/script.php?id=99, а теперь будут выглядеть так: http://site.ru/script/99

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

Вот, есть кое-что:

RewriteEngine on
RewriteRule ^(.*)\/(.*)$ $1.php?id=$2 [L,QSA,R=301]


Но оно не работает правильно, неперенаправляет... Это потому что в .htaccess уже есть это сверху:

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

</IfModule>


Как мне быть в этом случае??
 
Делать перенаправление не в .htaccess, а в script.php
 
Делать перенаправление не в .htaccess, а в script.php
Этот вариант неочень хорош..... придется создать скрипт а в нем уже header на нужный id..... просто таких скриптов несколько, хотелось бы через .htaccess написать....
плюс ко всему, нужно посылать 301 moved permanently, чтобы сказать поисковику что страница переехала - header('HTTP/1.1 301 Moved Permanently');
 
Этот вариант неочень хорош..... придется создать скрипт а в нем уже header на нужный id..... просто таких скриптов несколько
Неужели аж штук пять наберется. Безумное количество!
плюс ко всему, нужно посылать 301 moved permanently, чтобы сказать поисковику что страница переехала
Что значит "плюс ко всему"? Эти несколько скриптов еще для чего-то будут созданы кроме как для отдачи 301?
 
Неужели аж штук пять наберется. Безумное количество!

Что значит "плюс ко всему"? Эти несколько скриптов еще для чего-то будут созданы кроме как для отдачи 301?
просто нехочу создавать хлам в виде скриптов содержащих в себе три строки, это простое решение проблемы.
Я знаю что с помощью .htaccess можно решить эту проблему, просто нужно правильно написать регулярку! но я незнаю как....
 
Так он и в .htaccess будте хламом, отрабатывающем на каждом голимом вызове (даже favicons.ico).
Хотя впрочем кому арбуз, а кому свиной хрящик.
 
в index.php не сделаеш, если в строке адреса обращение идет к другому скрипту
Как это не сделаешь, если твое правило переадресует на index.php все, что не найдено? Я так понял, что ты перешел на фреймворк и можно удалять script.php и прочее.
 
Как это не сделаешь, если твое правило переадресует на index.php все, что не найдено? Я так понял, что ты перешел на фреймворк и можно удалять script.php и прочее.
Так как это сделать, напрмер чтоб перенаправить страницы верхнего уровня (т.е. те кот тянули из бд контент в соответсвии с параметром GET['section']) можно перенаправить с помощью switch(); а вот с остальными, только вариант - создать несколько скриптов и вних прописать хедеры..... Есть другое решение???
 
В обработчике 404 твоего мегафреймворка сделать в зависимости от REQUEST_URI или от чего там будет лучше сделать перенаправление.
 
Сверху