apache — Маршрутизация 404 со значениями строки запроса в обработчик PHP

Я беру на себя сайт, который был построен в ASP и предоставляет конечную точку для множества сторонних приложений. Мы переходим на сайт на основе PHP, но мы должны учитывать эти конечные точки.

В основном на единственном сайте он может сделать запрос вроде test.asp? Id = 31231312&qs = 423434AFSDF434, и мы хотим направить это в наш собственный test.php? id = 31231312&qs = 423434AFSDF434 и тогда мы можем сделать все остальное. Есть ли способ настроить перенаправление 404, чтобы поймать это и правильно маршрутизировать в Apache? Любые другие идеи о простом способе маршрутизации?

Заранее спасибо.

2

Решение

Я сомневаюсь, что вы хотите 404 (не найден)? Вы, вероятно, хотите 301 (постоянное перенаправление)?

Сначала убедитесь, что mod_rewrite модуль включен, затем вставьте это в .htaccess файл:

RewriteEngine On
RewriteBase /
RewriteRule ^test.asp$ test.php [R=301]

Если вы хотите перенаправить ЛЮБОЙ asp на его аналог php, то:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*).asp$ $1.php [R=301]

Примеры по комментариям:

Правило для конкретного файла в папке:

RewriteRule ^folder1/test.asp$ folder1/test.php [R=301]

Перенаправьте разные asp-файлы в один и тот же php-файл:

RewriteRule ^test.asp$ test.php [R=301]
RewriteRule ^test2.asp$ test.php [R=301]
RewriteRule ^folder1/test.asp$ test.php [R=301]

Не уверены, если это необходимо, но … перенаправьте ВСЕ файлы asp в один файл php:

RewriteRule ^.*.asp$ test.php [R=301]
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector