Как я могу разместить Pyramid перед веб-сайтом PHP, используя тот же веб-сервер?

Сценарий таков: у меня есть старый веб-сайт, работающий на PHP. Со временем этот код стал запутанным и запутанным. Это должно быть переписано. Тем не менее, у меня нет времени, чтобы сделать это переписать еще. Но я хотел бы запланировать это в будущем.

Теперь мне нужно добавить страницу приветствия на сайт. Я хотел бы закодировать это на Python, используя структуру Pyramid.

Структура URL-адресов старых сайтов такова:

http://website.com/XXXXXX

Где X — это идентификатор короткого URL-адреса.

Что я думал сделать, так это использовать конфигурацию Apache LocationMatch, чтобы поймать короткий URL. Что-то типа:

<LocationMatch "/^([a-zA-Z0-9]{6})$">

Затем это перенаправит запрос на PHP-часть веб-сайта. Все остальное будет поймано Пирамидой.

Я не уверен, как это сделать. Есть ли в Apache предложение типа else для LocationMatch? Как бы я сказал ему обслуживать файлы PHP для /XXXXXX совпадений и отправлять все остальное в Pyramid?

Примечания к серверу:

  • Apache2 + PHP (пакет Debian)
  • mod_wsgi 3.3
  • Python2.7

person dave    schedule 17.03.2011    source источник


Ответы (2)


Я не уверен в конфигурации Apache, но вы можете использовать wphp, промежуточное ПО wsgi для обслуживания php.

http://pythonpaste.org/wphp/

person Antoine Leclair    schedule 17.03.2011
comment
Спасибо за ссылку. Я не слишком хорошо знаком с тем, как работает промежуточное ПО WSGI, но, похоже, запрос будет идти apache > wsgi > php, а не apache > php. Будет ли этот метод иметь какое-либо заметное влияние (скорость, стабильность)? Конечно, сайт не имеет большой посещаемости... Но все же - person dave; 17.03.2011
comment
Я никогда не использовал это промежуточное программное обеспечение, я просто знаю о его существовании. Я бы сказал: если вы не найдете другого очевидного решения, попробуйте это, а если у вас есть проблемы с производительностью, попробуйте найти что-то другое. - person Antoine Leclair; 17.03.2011

Используйте рецепты использования AddHandler, описанные в:

http://code.google.com/p/modwsgi/wiki/ConfigurationGuidelines#The_Apache_Alias_Directive

Примените AddHandler и правило перезаписи к каталогу DocumentRoot. Затем добавьте исправление SCRIPT_NAME в файл сценария WSGI.

person Graham Dumpleton    schedule 17.03.2011