Web.Config子目录应用程序设置无法正常工作

时间:2015-10-18 15:35:40

标签: asp.net web-config virtual-directory

这应该很容易......但我遗漏了一些东西。

目前,我在共享服务器上有一个运行asp.net 4.0的网站。需要将站点迁移到另一个托管公司,但新站点没有相同的设置(虚拟目录的使用受限)。

该网站在服务器上设置如此

./ root / directory / subdir1 / subdir2 / * .aspx(此处也是webconfig)

我们有一个虚拟目录“vdir = directory / subdir1 / subdir2”,它允许我们保持网址简单,看起来像

https://www.url.com/vdir/default.aspx

多次尝试,数小时后,无法解决。错误是500 / 40x,具体取决于设置。

设置web.configs的最佳方法是什么?我无权访问root,服务器IIS。

下面的Webconfig。

任何建议都表示赞赏!

资源良好:

http://weblogs.asp.net/jongalloway/10-things-asp-net-developers-should-know-about-web-config-inheritance-and-overrides

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <connectionStrings>
    <add name="ApplicationServices" connectionString="Data Source=*;Initial Catalog=*;Persist Security Info=True;User ID=*;Password=*" providerName="System.Data.SqlClient"/>
 </connectionStrings>


  <system.web>

    <sessionState cookieless="AutoDetect" timeout="60" compressionEnabled="true"/>

    <compilation debug="true" targetFramework="4.0" />

    <authentication mode="Forms">
      <forms cookieless="AutoDetect" name=".AuthCookie" protection="All" path="/" loginUrl="~/Account/Login.aspx" defaultUrl="~/Default.aspx" timeout="60" slidingExpiration="true"/>
    </authentication>

    <machineKey validationKey="*"
                decryptionKey="*"
                validation="SHA1"
                decryption="AES"/>

    <membership defaultProvider="AspNetMembershipProvider" userIsOnlineTimeWindow="60">
      <providers>
        <clear />
        <add name="AspNetMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7"  minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="a" />
      </providers>
    </membership>

    <profile defaultProvider="AspNetSqlProfileProvider" enabled="true">

      <providers>
        <clear />
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="a" />
      </providers>

    </profile>

    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
      <providers>
        <clear />
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="a" />
        <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="a" />
      </providers>
    </roleManager>

    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>


  </system.web>

  <location path="account">
    <system.web>
      <authorization>
        <deny users="?" />
        <allow users="*" />
      </authorization>
    </system.web>
  </location>


  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
  </system.webServer>

</configuration>

更新#1

1)尝试在父/根路径中。子目录/应用程序asp不呈现

2)尝试在top / root创建web.confing,但没有渲染

 <location path="sub1/sub2r">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

3)创建了test.html文件(简单的html文本/标签)。可以在任何位置,目录,条件和条件下查看...但是在相同位置的简单aspx页面,没有运行。

更新#2 通过文件夹,文件等测试授权的基本基础知识。可以查看/查看所有文件夹,权限工作,网络服务,角色等所有设置正确。底线是我的web.config文件无法看到,因为如果没有适当的权限。

仍在努力寻找如何解决。

0 个答案:

没有答案