我正在创建的网页无法访问CSS文件。
看看我的webconfig:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="MySql.Data, Version=6.2.5.0, Culture=neutral, PublicKeyToken=C5687FC88969C44D"/>
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
</system.web>
<location path="css">
<system.web>
<authentication mode="Forms">
<forms name=".ASPXFORMSDEMO" loginUrl="Login.aspx" protection="All" path="/" timeout="60"/>
</authentication>
<authorization>
<deny users="?"/>
<allow users="*"/>
</authorization>
</system.web>
</location>
</configuration>
我在这里找到了一些答案:
Authorization Issue - anonymous users can't access .jpeg or .css
但是当我试图把
<location path="css">
在'system.web'之上它没有用。请帮我解决这个问题。谢谢你们的帮助!
答案 0 :(得分:4)
位置标记必须是配置的直接子项
将其放在现有的<system.web>
<configuration>
<system.web>
...
</system.web>
<location path="css">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
</configuration>
答案 1 :(得分:2)
当您使用<authentication mode="Forms">
和protection="All"
时,如果没有登录,您将无法访问loginUrl
以外的任何文件。
如果你想在没有登录的情况下访问任何文件或文件夹,你应该在web.config文件中告诉它,如下所示
<location path="file_name">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
或者如果您希望在没有登录的情况下访问任何文件夹,那么您应该使用以下
<location path="folder_name">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
标签 <allow users="*" />
适合您。它允许用户无需登录即可访问该路径
这里有一些很好的链接
http://msdn.microsoft.com/en-us/library/b6x6shw7%28v=vs.71%29.aspx
http://msdn.microsoft.com/en-us/library/ms178692%28v=vs.100%29.aspx