Asp.net 将网站转移到新的托管事业”;“禁止”;

Asp.net 将网站转移到新的托管事业”;“禁止”;,asp.net,configuration,file-permissions,web-hosting,Asp.net,Configuration,File Permissions,Web Hosting,我正在将网站从一个托管服务器移动到另一个托管服务器。我上传了文件。我正在使用表单身份验证。基本上,我要搬到戈达迪 我可以直接访问登录表单:www.mysite.com/login.aspx 但是,当我打开www.mysite.com时,它会显示 Forbidden You do not have permission to access this document. 什么会导致这个问题?哪些文件没有权限?我应该修改web.config还是其他什么 我正在使用asp.net 3.5版。您的新服务

我正在将网站从一个托管服务器移动到另一个托管服务器。我上传了文件。我正在使用表单身份验证。基本上,我要搬到戈达迪

我可以直接访问登录表单:
www.mysite.com/login.aspx
但是,当我打开
www.mysite.com
时,它会显示

Forbidden
You do not have permission to access this document.
什么会导致这个问题?哪些文件没有权限?我应该修改
web.config
还是其他什么


我正在使用asp.net 3.5版。

您的新服务器上可能未注册asp.net。你可以在我的文件夹中添加一个简单的html文件并尝试浏览它。由于.net未注册,aspx扩展未知

您应该运行aspnet_regiis.exe-ir:

  • %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet\u regiis.exe-ir
  • %windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet\u regiis.exe-ir

  • 听起来IIS中的默认页面没有设置。您的默认页面似乎是登录,而IIS的默认页面是默认页面

    问题:

    IIS具有默认文档的配置,通常为default.htm、default.aspx等,但没有login.aspx。如果站点的根文件夹中没有默认文档,并且目录浏览功能被禁用,您将收到禁止的消息

    解决方案:

    • 根据默认IIS配置创建默认文档
    • 或者更改IIS配置,使login.aspx成为默认文档
    要创建默认文档,请添加一个新文件,将其命名为default.htm并复制到站点的根目录

    <html>
       <head>
          <meta http-equiv="REFRESH" content="0;url=login.aspx">
       </head>
       <body></body>
    </html>
    
    
    
    若要更改IIS配置,请转到“主机设置”面板并查找Web服务器设置功能,您可以在其中将login.aspx添加到帐户的默认文档列表中


    这可能是因为IIS找不到默认起始页。在IIS中添加默认文档是一种方法。但另一种方法是在web.config文件中添加默认文档(起始页)

    假设您想在有人打开您的网站时打开login.aspx页面,然后在web.config文件中添加以下代码

       <system.webServer>
         <defaultDocument>
                <files>
                    <clear />               
                    <add value="Login.aspx"/>
                </files>
            </defaultDocument>
        </system.webServer>
    

    思考web服务器工作原理的基础知识

    您有一个文件根文件夹(通常命名为www/或public_html/或其他,具体取决于您的设置),根文件夹中有子文件夹和文件

    Web服务器的工作方式是,它们只允许公众访问“公共根文件夹”,而不允许公众访问服务器文件/特定语言的文件夹/系统文件夹等

    现在再想想您的错误消息,它告诉您“您没有访问此文档的权限”。这基本上是指在加载根域时加载的default.aspx或index.html或其他形式的默认/索引文件

    这是由于对特定文件/依赖文件等的“权限错误”,正如错误消息所述。您需要检查文件和文件夹的访问模式,这在unix中是通过chmod命令完成的,在windows中是在文件/文件夹属性->安全->权限-/strong>中完成的,通常在一组用户中列出,即您的公共/所有用户组(如果存在) 您需要这些设置来授予读取或执行(exec,具体取决于文件的类型,如果html/aspx than read足够,则严格禁止在任何情况下写入,因为这允许公众修改您的文件)权限,以便web服务器能够成功地向公众提供服务


    为了提供特定于系统的帮助,您的ASP.NET版本不足以解决此问题,还需要您的IIS信息以及您的服务器和文件系统设置等

    您的默认页面似乎未配置为什么在以前的web托管服务器上工作?我的意思是,我真的没有看到为默认页面配置的任何内容。但若设置了表单身份验证,那个么默认情况下网页不应该重定向到登录页面吗?只是为了验证上述建议,请设置默认文档并重试!