2017-01-09 47 views
2

我已经安装在IIS 8.5的机器一个WordPress博客WordPress的博客的子目录工作,我使用的窗体身份验证如下:认证不安装IIS8.5

<authentication mode="Forms"> 
    <forms loginUrl="/login/login.aspx" name="authcookies" protection="All" timeout="30" path="/"> 
    </forms> 
</authentication> 

我也有:

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

阻止未经身份验证的用户访问博客。

当我未经身份验证尝试访问www.test.com/blog时,它将我重定向到登录页面,但如果我转到www.test.com/blog/subdir它将忽略身份验证。

任何想法?

回答

1

您将需要添加处理程序来强制IIS通过.net授权管道运行对php页面的请求。此添加到/博客目录中的web.config文件:

<handlers>                       
     <add name="phpauth" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> 
    </handlers> 

确保前提的位数和运行时版本相匹配您的应用程序池的

+0

感谢您的回答。这解决了问题。我创建了一个运行在64位上的新应用程序池,并添加了处理程序配置到web.config,现在它正在工作。 –