Php 使用asp.net应用程序在Azure虚拟目录中部署wordpress应用程序

Php 使用asp.net应用程序在Azure虚拟目录中部署wordpress应用程序,php,asp.net,wordpress,azure,Php,Asp.net,Wordpress,Azure,我在根上的Azure网站上托管了ASP.net应用程序。我为博客创建了一个虚拟目录,我想在其中托管wordpress应用程序。我部署了wordpress应用程序,但在(wordpress管理面板)登录后,单击它会重定向到我的asp.net应用程序的错误页面。前端(博客页面)也不可见 我想Web.config中可能存在URL重写问题。还需要更改wordpress设置中的某些内容。我不确定 更新: 尝试访问/博客时出现以下错误 无法加载文件或程序集“AjaxControlToolKit”或其依赖项之

我在根上的Azure网站上托管了ASP.net应用程序。我为博客创建了一个虚拟目录,我想在其中托管wordpress应用程序。我部署了wordpress应用程序,但在(wordpress管理面板)登录后,单击它会重定向到我的asp.net应用程序的错误页面。前端(博客页面)也不可见

我想Web.config中可能存在URL重写问题。还需要更改wordpress设置中的某些内容。我不确定

更新: 尝试访问/博客时出现以下错误

无法加载文件或程序集“AjaxControlToolKit”或其依赖项之一。系统找不到指定的文件

wwwroot文件夹中的Web.config

<?xml version="1.0"?>

<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->

<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <requestLimits maxQueryString="32768" />
      </requestFiltering>
    </security>
  </system.webServer>
  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="50000000" />
      </webServices>
    </scripting>
  </system.web.extensions>
  <appSettings>
    <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
  </appSettings>
  <system.web>
    <!-- Remove httpcookies in production -->
    <httpCookies httpOnlyCookies="true" requireSSL="false" />
    <customErrors mode="Off" />
    <authentication mode="None" />
    <compilation targetFramework="4.5">
      <assemblies>
        <add assembly="AjaxControlToolKit" />
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" />
    <pages>
      <controls>
        <add assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagPrefix="ajaxToolkit" />
      </controls>
    </pages>
  </system.web>
  <system.webServer>
    <defaultDocument>
      <files>
        <clear />
        <add value="home.htm" />
      </files>
    </defaultDocument>
  </system.webServer>
</configuration>

我建议将asp.net应用程序放在wwwroot下的一个文件夹中,并将wordpress文件放在wwwroot下的第二个文件夹中。否则,您将与web.config发生冲突。例如,您的目录结构:

  • wwwroot
    • 根目录(asp.net应用程序)
    • blog2(Worpress文件)
然后在Azure portal>>应用程序设置中,按如下方式设置您的虚拟目录:


这允许您独立地将asp.net应用程序部署到root,而不影响Wordpress的安装。

最后我解决了我的问题。我参考了下面的文章,在虚拟目录中创建并托管wordpress博客。为了解决“无法加载AjaxControlToolKit.dll”的问题,我在wp admin旁边的Wordpress文件夹中创建了一个Bin文件夹,并在其中添加了相同的dll文件。它正在工作。我知道这不是解决问题的正确方法,但目前我找不到解决问题的根本原因


我没有使用上面提到的(在第一篇文章中)web.config。我只是使用了通过文章中提到的过程创建的默认应用程序。

我使用
ASP.NET Starter Web App
模板创建了一个Azure Web App,并将wordpress文件夹放在根目录中,在安装wordpress后,它在我这方面起作用。能否在根目录中提供
web.config
内容?wordpress数据库是干净的还是有一些旧的wordpress配置,比如
Permalink设置
?我在根目录中添加了web.config内容。Wordpress已清除了新数据库。出现错误的原因是“父”web.config中有AjaxControlToolkit,位于Wordpress文件夹上方的文件夹中。此外,此配置已删除所有默认文档,然后添加“home.htm”作为唯一的默认文档。您至少需要index.php作为运行Wordpress的默认文档。我知道我应该在默认文档列表中添加index.php,但如何修复Ajaxcontrol工具包错误?为什么不检查应用程序的blog2条目?仍然是相同的问题。由于无法发布,我将应用程序标记为已检查。我将尝试Gary的建议,你只需要“发布”Wordpress一次,最好是上传文件,或者将文件从安装目录中移出。