2014-11-04 3 views
0

Я создаю приложение Symfony на существующем веб-сервере с классическими ASP-страницами. Если домен/com/*. Asp найден, он загружает эту страницу. Если URL-адрес введен и не найден, он передается через /app.php для обработки с помощью системы маршрутизации PHP. Я настроил переписывание URL в IIS, чтобы справиться с этим, и все работает отлично. Однако мне нужно сделать исключения для default.asp и index.asp. Я бы хотел, чтобы IIS проверял документы по умолчанию и загружал их, прежде чем принимать решение по URL-адресу 404 и переписать его в /app.php. Я мог написать код на PHP, чтобы проверить файл и загрузить его, но похоже, что это то, что должно обрабатываться IIS. Является ли это возможным?Нужно, чтобы IIS открывал документ по умолчанию перед переписыванием URL-адресом

Если мое объяснение не было ясно, вот пример:

Пользователь пытается загрузить https://www.website.com/thisIsAFoldername Если https://www.website.com/thisIsAFoldername/default.asp существует, то он должен загрузить эту страницу. В противном случае, переписывание URL должно загрузить https://www.website.com/app.php/thisIsAFoldername

ответ

0

Я знаю, вы можете дважды щелкнуть по правилу переписывания вы создали, и добавить условие с «не этим путем» или что-то подобное (я не могу вспомнить название) затем добавьте регулярное выражение, соответствующее вашему пути. Я использовал это для усложнения, возможно, он будет работать в вашем случае

+0

Благодарим за отзыв. Я не уверен, как это сработает. Существуют сотни папок с параметрами default.asp и default.asp, которые не указаны в URL-адресе, когда пользователь вводит его. – rooter

+0

действительно, если его нет в URL-адресе, он не будет полезен вообще, не получил этого. Удачи вам, больше не могу помочь вам. – oligan

0

Я закончил тем, что просто проигнорировал настройки документа по умолчанию в IIS и написал несколько простых PHP для его обработки. В обработчике исключений приложений я проверяю, существует ли файл default.asp по запрошенному пути. Если это так, переадресуйте на него, в противном случае покажите 404.