Zapytanie String CodeIgniter Rewrite w .htaccess

Kiedy po raz pierwszy uruchomiłem moją witrynę, adresy URL miały następujący format:

project.php?projectID=1&pageID=2

Kilka lat temu zmodyfikowałem mój plik .htaccess, aby przepisać je, aby używać segmentów, takich jak ten:

project/1/2

Zaktualizowałem wszystkie wewnętrzne linki, aby użyć formatu podzielonego na segmenty, ale było to dobre, ponieważ nadal obsługiwał wszelkie zewnętrzne linki przychodzące w starym formacie.

Teraz przełączyłem się na CodeIgniter, dzięki czemu moje strony są renderowane przy użyciu formatu segmentowego, co jest łatwe, ale staram się wypracować sposób obsługi starych adresów URL ciągów zapytań.

Moje próby obsługi ciągów zapytań natywnie w CodeIgniter wydają się łamać segmentowane adresy URL, więc wygląda na to, że nie mogę mieć obu obsługiwanych jednocześnie. Konfigurowanie trasy w CodeIgniter w celu przekierowania ciągu zapytania do kontrolera wydaje się nie działać. Na przykład.:

$route['project.php?projectID=(:any)&pageID=(:any)'] = 'home/projectview/$1/$2';

Moją drugą myślą było zmodyfikowanie bezpośrednio pliku .htaccess, aby przekierować ciąg zapytania do kontrolera, tak jak poniżej:

(Uwaga: używam również przepisywania .htaccess, które eliminuje wygląd index.php w adresie URL CI)

RewriteRule ^project.php?projectID=(\d*)&pageID=(\d*) project/$1/$2/ [L]
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php/$1 [L]

Jednak ta reguła przepisywania nie działa. Przekierowuje do mojego CodeIgniter 404 bez przepisywania, a nawet usuwając domyślną regułę index.php nie przekierowuje, więc zakładam, że w moim formatowaniu regex / .htaccess jest coś niepoprawnego.

questionAnswers(1)

yourAnswerToTheQuestion