巧合的是,这个问题在上周出现了两次。
客户拥有他们想要保留的现有PHP网站。他们还拥有或即将拥有一些他们希望以一种单一网站显示的方式整合到现有网站的ASP.net网页。
我们有以下可能性:
有没有人尝试过这些?有更好的建议吗?我们应该明确避免吗?
由于
西拉
答案 0 :(得分:3)
这实际上取决于可接受的整合水平。您的原始建议存在许多可维护性问题,我不建议将它们用于面向公众的网站。
如果我有完全控制权,我可能会考虑将PHP站点迁移到IIS,并将ASP.NET页面与PHP文件一起部署到站点。这可能非常棘手,具体取决于PHP站点的构建方式。您可能遇到的问题包括:
根据您建议的选项
答案 1 :(得分:3)
所有这些选项都完全落空了!
简单的解决方案是将解决方案单独托管,Apache& IIS分别。 并通过路由处理集成。可以使用“Cookie”
来处理身份验证我们最近为没有问题的客户处理了这个问题
网络前端基于wordpress& mySQL和整个报告模块是基于SQL Server 2008 r2的MVC 3/4。
我们刚刚使用了子域名.i.e。 www.somecompany.com用于网站和reports.somecompany.com用于报告。
然后我们写了一个简单的wordpress扩展,用于存储包含相关信息的链接数据以创建报告。 即用户的Guid ID和报告类型等。
其实基本上只向用户显示了一个页面,其中包含可以运行的一些报告选项 - 超链接<a href="http://reports.somecompanyurl.com/bill/{some guid}>You Monthly Bill</a>
即。每月账单
这两个网站共享一个共同的主题,它确实带来了一些维护负担,但只不过是一个普通的网络项目。即...... MVC和PHP主题文件确实存在一些差异, 但一般来说CSS文件都是一样的。
我认为我们确实对Cookie进行了一些定制,但这并不是什么困难,因为这两种解决方案只使用了相同的Cookie名称和Cookie加密。
总的来说,这是一个相当轻松的集成项目,因为大多数通信是通过路由处理的。
我们已经运行了6个月没有任何问题。
答案 2 :(得分:1)
整个网站可以托管在运行IIS的Windows机器上吗?因为IIS can serve PHP pages以及asp.net。这样,您就可以无缝地将页面混合在一起。
另一个更“脏”的选择是使用PHP直接从远程asp.net页面“读取”HTML输出。每个对应的asp.net页面都有一个PHP文件,然后你可以使用PHP的file_get_contents
方法通过HTTP“读取”它:
$content = file_get_contents('http://www.example.com/remotepage.aspx');
您可能希望在本地缓存结果以提高效率。