我正在使用Umbraco的多站点概念将我的4个(几乎相同的)Umbraco站点移动到1个Umbraco实例中。
一切进展顺利,但我有一个问题。
我的每个网站都有/ blog / WordPress博客。显然,他们每个人都有自己独特的内容。
我无法想象如何让我的网站使用相同的目录结构(这对Google Juice来说显然很重要)。
任何人都可以建议一个允许我使用WordPress博客保留目录结构的解决方案吗?
答案 0 :(得分:1)
一种解决方案是使用URL rewrite and Application Request Routing (ARR) IIS modules。在这种情况下,每个WordPress安装可以是一个单独的应用程序(可能托管在另一个服务器上),ARR模块将配置为反向代理,并使用博客应用程序重写URL为每个域重写规则。每个博客都有这样的规则(需要调整/测试):
<rule name="Blog1" stopProcessing="true">
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.domain1\.com$" />
</conditions>
<match url="^blog?(.*)" />
<action type="Rewrite" url="/blog1{R:0}" />
</rule>
答案 1 :(得分:0)
对于多站点站点来说,这将非常困难,因为实例中的所有站点之间只能共享一个“/ blog /”文件夹。
如果这是一项要求,您的选择是为每个站点(例如/ blog-1,/ blog-2等)创建一个唯一的博客文件夹,或将每个站点作为单独的Umbraco站点。请记住,如果您有不同的博客文件夹,它们将在每个站点都可用,这可能不是您想要的。
如果你感觉很勇敢,你可以通过IIS Rewrite做一些聪明的事情来重写对不同底层虚拟文件夹的请求,具体取决于域,但是你仍然遇到所有底层博客文件夹都可用的问题在网站的每个版本中。
如果是我,在这种特殊情况下,我将所有网站都作为单独的Umbraco实例,因为它可以节省很多麻烦。他们必须在一个Umbraco实例中有特殊原因吗?
答案 2 :(得分:0)
听起来你真正需要的是更好的部署过程。
现在,在单个代码库上进行开发是一种相对常见的方案,然后将其推送到多个站点/服务器/位置,并且有很多工具可以帮助您实现这一目标。
Octopus Deploy,Kudu或Visual Studio Team Services都将获取您的代码并将其部署到多个网站(因为它们是免费的,所以提到CI tools for .NET会这样做。)
当然,无论是否有Web Deploy,您都可以自动MSBuild。