Я портирую приложение CGI со встроенного веб-сервера для работы под Apache. Стремясь изменить минимально необходимое количество, я пытаюсь выяснить, как настроить Apache, чтобы все поступающие запросы направлялись в мою программу CGI, которая затем будет использовать переменную среды QueryString, чтобы определить, какой файл необходимо создать.
Сейчас у меня Apache работает там, где он будет обрабатывать мой файл CGI, если он будет запрошен напрямую, то есть localhost / cgi-bin / cgi_test.out
но мне нужно выяснить, как заставить мое приложение вызываться всякий раз, когда запрашивается какой-либо файл:
localhost / -> вызвать мое приложение с QueryString, установленным на "" или "/"
localhost / thisFile -> вызвать мое приложение с QueryString, установленным в "/ thisFile"
и т.п.
Я проводил все свои тесты конфигурации в / etc / apache2 / sites-available / mysite, который был включен, а значение по умолчанию отключено.
Спасибо за любую помощь.
Я попробовал рекомендацию отсюда: Настройте apache для обработки всех запросов через единый index.php но я продолжаю получать круговые перенаправления.
РЕДАКТИРОВАТЬ: Я пробовал несколько разных вариантов мод-перезаписи, но они еще не работали.
У меня есть файл index.cgi в / usr / lib / cgi-bin (расположение по умолчанию) и index.html по умолчанию в / var / www /. Я вернул все к настройкам по умолчанию, поэтому я готов начать все заново с любыми новыми идеями.
Вы не против mod_rewrite? Вы можете легко настроить RewriteRule следующим образом:
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule ^(.*)$ /mycgi.cgi [L,E=QUERY_STRING:$1]