2010-01-14 6 views
2

Есть ли альтернатива, кроме того, чтобы модифицировать HOSTS для настройки доменов temp при локальном тестировании сайтов? Я использую IIS7 на Win7.Настройка локального IIS7 для тестирования веб-сайтов

Я не хочу использовать/localhost/domainname. Я предпочитаю делать/domainname, поэтому мне не нужно беспокоиться о путях к файлам и т. Д. Мои веб-сайты настроены так, что пути к файлам относятся к корневой папке, а не к странице.

+2

Если ваши пути относительны, то почему основной URL-адрес имеет значение? –

ответ

2

Если ваш код явно не проверяет имя домена, вы должны иметь возможность развертывания на II7 и протестировать через http://localhost.

Есть несколько предостережений с этим подходом, хотя:

  • если вы используете сторонний API, который требует ключ, привязанный к доменному имени вами приложения, вы, возможно, придется просить два ключа - один для имени домена (для целей PROD) и одного для localhost (для целей DEV). Я делаю это с помощью API Google Ajax API и Facebook Connect.
  • http://localhost находится в разных зонах безопасности в IE, чем обычные интернет-сайты, поэтому, если ваше приложение использует любую точку доступа, для которой требуется междоменная связь (например, Facebook Connect), у вас могут возникнуть проблемы с тестированием на IE7. Работает как очарование Chrome и, похоже, работает правильно на IE8.
  • Если вы работаете одновременно с несколькими приложениями, вы не можете одновременно прослушивать их на порту 80. Итак, некоторые из приложений нужно будет переместить в http://localhost:8080 или другой порт.

Мой подход заключается в запуске VS Dev WebServer (Cassini) на портах 808x во время разработки и развертывания на локальном IIS7 (с использованием CruiseControl.Net) на портах 888x. Это позволяет мне легко отлаживать VS, работая над кодом, но все же у вас есть сайт, настроенный под средним доверием на IIS7.

У меня также есть имя хоста на целевом домене, указывая на мой Dev машины, поэтому экземпляры IIS7 доступны как в http://localhost:888x и http://dev.domain.com:888x, что позволяет мне также протестировать интеграцию домена с Google Ajax и Facebook Connect API. Конечно, для этого требуется контроль над доменным DNS и возможность добавления к нему записи A.

Однако обратите внимание, что ничто в этой настройке не требует фактического тестирования URL-адреса домена.

+0

Каждый сайт на разных портах является самым простым способом - и +1 для указания интересных оговорок. – Filburt

+0

Мне нравится, что вы говорите. Поскольку я работаю на нескольких сайтах одновременно, я надеялся не менять локальный хост в IIS, чтобы каждый раз указывать на другой сервер, когда я хочу протестировать сайт перед развертыванием. Однако, ретроспективно, возможно, это мое решение. Я делаю проекты .net и php в Dreamweaver, поэтому искал решение, которое будет работать для обоих. Кассини - лучший вариант для .Net, хотя я полностью согласен. –

+0

Просто используйте разные порты и развертывайте оба решения в качестве сайтов IIS7 - ваш .Net в http: // localhost: 8881 и ваш PHP на http: // localhost: 8882. Таким образом, вы можете одновременно работать одновременно. –

Смежные вопросы