我们现有的公共网站由大量静态内容的asp.net页面和一些真实的web应用程序构成的虚拟目录组成。 我们现在正在考虑安装Umbraco ,它要求您将其安装在网站的根目录下。
由于CMS将位于网站的根目录,因此我认为在Umbraco下运行我们现有的页面和Web应用程序是一个坏主意(由于URL重写它执行并inheritanceweb.config设置等)。在我们过渡到CMS并在完成之后,我们是否能够一切和平共处?
我到目前为止唯一的想法是将CMS和应用程序设置为单独的网站,然后使用某种URL重写/反向代理来正确解决所有问题:
我已经多次遇到过这种情况,除非你打算设置不同的子域,例如
最好将其安装在根目录下,并将其他应用程序设置为虚拟目录/应用程序。 您需要编辑每个子应用程序中的configuration文件,以添加到相关部分(连接string,命名空间)的顶部以停止configuration级联和testing,testing和testing。
如果您将每个子应用程序的根文件夹名称添加到umbracoreservedurls /目录,则URL重写不是这样的问题。
我知道这是一个痛苦 – 不幸的是,这只是Umbraco现在的工作方式。
我第二个尼尔的评论,但我会回答作为答案,以便我可以更好地格式化我的答复。
这是一个URL重写2.0规则:
RewriteCond Host: (www\.)?domain\.com RewriteRule (?!/domain)(.*) /domain$2 [I]
把你的网站放在一个名为/ domain的文件夹中。 显然你可以改变URL和文件夹。
这确保了/ domain的任何内容都不会redirect,但是其他所有内容都可以。 这允许asp.netredirect,以及URL重写不知道的其他东西,仍然工作。