上次说过一个 《http uploadify error 401问题的解决方法》的方法,使用uploadify 3.1的版本,然后添加session验证!但是不是每次都奏效。这次遇到的这个问题有点奇怪,就是在火狐下始终是401,尽管我尝试了很多版本,还是没有解决。

然后仔细想了下,401就是权限未认证(Unauthorized)。也就是说是服务器的权限没有认证。我使用的服务器是apache,我检查了下配置文件:
   AllowOverride AuthConfig
    Order Allow,Deny
AllowOverride AuthConfig 这个就是说开启用户验证功能,也就是说访问者要想浏览这个地址必须输入apache服务器的用户验证,然后才能接下来做一些业务处理。

basic Unauthorized

uploadify是使用的flash进行多选,然后通过ajax异步上传。ajax往服务器上传数据的时候没有进行验证,所以才会出现401的问题。
然后查看了一下根目录的.htaccess文件:
AuthName "login"
AuthType Basic 
AuthUserFile /www/.htpasswd
require user admin
上面这个配置是只允许用户为admin的用户认证。
介于我的上传组件是单独一个文件夹,所以我想在basic验证的时候能不能不去验证这个子目录?
于是在apache的配置文件httpd.conf添加这个uploadify文件夹不需要验证了:
    <Directory "/www/uploadify">
         Allow from all
         Satisfy any
     </Directory>
或者添加那个处理的uploadify.php文件不需要验证:
<FilesMatch "/www/uploadify/uploadify.php">
Allow from all
Satisfy any
</FilesMatch>
然后再去使用uploadify上传,就解决了。IE,foxfire,safari,chrome,opera都能正常上传了。

如果是Nginx用户,请移步:《解决nginx下uploadify的401 HTTP ERROR

推荐阅读:《如何添加Apache服务器用户验证

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="">

请选择吧!