Начало истории тут
vasnake.blogspot.com
Конкретнее, надо было мне представить пользователям сайт Zope/Plone болтающийся на порту 8080 как подраздел корпоративного сайта, фактически подмонтировать его в папочку сайта, который под IIS-ом и работал.
Решил я эту задачку. Телеграфно: в блоге
coderjournal.com/tags/url-rewrite
нашел описание тулзы URL Rewriter and Reverse Proxy
Скачал это дело, в IIS организовал "виртуальный каталог" для моего подсайта, в этот каталог положил файлик web.config следующего содержания:
<?xml version="1.0"?> <configuration> <configSections> <sectionGroup name="managedFusion.rewriter" type="ManagedFusion.Rewriter.Configuration.ManagedFusionSectionGroup, ManagedFusion.Rewriter"> <section name="rules" type="ManagedFusion.Rewriter.Configuration.RulesManagerSection, ManagedFusion.Rewriter"/> </sectionGroup> </configSections> <managedFusion.rewriter> <rules fileName="ManagedFusion.Rewriter.rules" rebaseClientPath="false" rewriteFormPostBack="true" /> </managedFusion.rewriter> <system.web> <httpModules> <add name="RewriterModule" type="ManagedFusion.Rewriter.RewriterModule, ManagedFusion.Rewriter"/> </httpModules> </system.web> </configuration>
после, туда же (в каталог) положил файлик ManagedFusion.Rewriter.rules
такого содержания:
RewriteEngine On
# http://vdesk.algis.com/rngis/news
# http://127.0.0.1:8080/VirtualHostBase/http/vdesk.algis.com:80/rngis/news
RewriteRule ^/(.*) http://127.0.0.1:8080/VirtualHostBase/http/vdesk.algis.com:80/$1 [P]
А в подкаталог с именем Bin положил dll-ки из скачанного пакета.
Потом сделал для своего виртуального каталога в IIS - как советует автор:
Setup your frontend server to process everything through the .NET framework.
1. Open IIS and right-click on the website and select Properties.
2. Click the Configuration button under Application Settings section
3. Click the Insert… button to create a new wildcard mapping
4. Set the executable textbox to aspnet_isapi.dll file location.
for .net 2.0, 3.0, 3.5: C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
5. Make sure the checkbox Verify that file exists is not checked.
6. Press OK to confirm and close all the windows.
И ничего у меня не заработало. Но я скачал дотнет фреймворк 3.5, установил его, перезапустился... опля. Работает.
Да, перенаправлятор составляет урлы странного вида. Такие урлы понимает Zope-вский модуль Virtual Host Monster. Это ему такие строчки нужны, чтобы в генерируемых страницах урлы были не как фактически, а как надо, с учетом подмонтирования.
Особо следует отметить, что в моем примере урл
http://vdesk.algis.com/rngis/news
отображался на реальный
http://127.0.0.1:8080/rngis/news
более сложные случаи у меня терпения не хватило наладить.