У меня есть сайт PHP, размещенный на IIS 8.
Сайт размещен на сайте по умолчанию, в виртуальном каталоге.
Пример:
http://192.168.1.1/virtual/index.php
Веб-страница загружается правильно, проблема с URL, CSS и JS.
<script type="text/javascript" src="/js/jquery/jquery-1.11.0.min.js">/script>
будет относиться к:
<script type="text/javascript" src="http://192.168.1.1/js/jquery/jquery-1.11.0.min.js"></script>
Это приводит к 404 ошибкам, и страницы загружаются неправильно — это относится к родителю виртуального каталога.
Это PHP CMS, и я не могу пойти и изменить каждый URL.
Я пытался использовать все виды перенаправлений в web.config, но безуспешно.
Пожалуйста помоги.
Если я вас правильно понимаю, вы захотите убедиться, что все ссылки JS и CSS по-прежнему находятся на одном и том же пути, но внутри виртуального каталога. Я думаю, что эта перезапись должна работать, убедитесь, что она добавлена в web.config корневого сайта, а не в web.config виртуального каталога:
<system.webServer>
<rewrite>
<rules>
<rule name="css_js_to_virtual">
<match url="(.*).(js|css)" />
<action type="Rewrite" url="/virtual/{R:0}" />
</rule>
</rules>
</rewrite>
</system.webServer>
Других решений пока нет …