По некоторым совпадениям эта проблема возникла дважды на прошлой неделе.
У клиента есть существующий веб-сайт PHP, который они хотят сохранить. Они также имеют или скоро будут иметь некоторые веб-страницы ASP.net, которые они хотят интегрировать в существующий сайт, таким образом, чтобы он отображался как один сайт.
У нас есть следующие возможности:
Кто-нибудь пробовал что-нибудь из этого? Есть лучшее предложение? Есть ли что-то, чего мы обязательно должны избегать?
благодаря
Шираз
Это действительно зависит от приемлемого уровня интеграции. В ваших первоначальных предложениях есть ряд проблем с ремонтопригодностью, и я бы не предложил, чтобы они использовались для публичного интернет-сайта.
Если бы у меня был полный контроль, я мог бы рассмотреть возможность переноса сайта PHP в IIS и развертывание страниц ASP.NET на сайт вместе с файлами PHP. Это может быть довольно сложно в зависимости от того, как был создан сайт PHP. Проблемы, с которыми вы могли столкнуться, включая:
По предлагаемым вариантам
Все эти варианты полностью за борт!
Простым решением было бы поддерживать решения, размещенные отдельно, Apache и IIS соответственно. И обработайте интеграцию через Routing. Проверка подлинности может быть выполнена с помощью «Cookie»
Мы обработали это недавно для клиента без проблем
Веб-интерфейс был основан на wordpress & mySQL, и весь модуль отчетности был MVC 3/4 на основе SQL Server 2008 r2.
Мы просто использовали поддомены .ie http://www.somecompany.com для сайта и reports.somecompany.com для отчетов.
Затем мы просто написали простое расширение wordpress, чтобы сохранить привязку данных, в которые содержалась соответствующая информация для создания отчетов. т.е. идентификатор руководства пользователя и тип отчета и т. д.
Что по существу просто представило пользователю страницу, содержащую некоторые параметры отчетов, которые они могли бы запустить – гиперссылки <a href="http://reports.somecompanyurl.com/bill/{some guid}>You Monthly Bill</a>
т.е. ежемесячный счет
Оба сайта разделяют общую тему, которая несут некоторую нагрузку на обслуживание, но не более, чем обычный веб-проект. т.е. файлы MVC и PHP имеют некоторые отличия, но в целом файлы CSS были одинаковыми.
Я думаю, что мы немного настроили файл cookie, но на самом деле это было не так уж сложно, так как оба решения использовали одно и то же имя файла cookie и шифрование файлов cookie.
В целом это был довольно безболезненный интеграционный проект, поскольку большинство коммуникаций обрабатывалось посредством маршрутизации.
мы работаем в течение 6 месяцев без каких-либо проблем.
Может ли весь сайт размещаться на компьютере с Windows IIS? Поскольку IIS может обслуживать PHP-страницы, а также asp.net. Таким образом, вы можете легко смешивать и сопоставлять страницы вместе.
Другим, более «грязным» вариантом было бы использование PHP для «чтения» вывода HTML с удаленных страниц asp.net напрямую. У вас будет один файл PHP для каждой соответствующей страницы asp.net, а затем вы сможете «прочитать» его через HTTP с помощью метода file_get_contents
PHP:
$content = file_get_contents('http://www.example.com/remotepage.aspx');
Вероятно, вы захотите кэшировать результаты локально, чтобы повысить эффективность.