首先告诉你解决办法:你可以把uploads里面的所以文件移动到根目录就可以正常访问了.。
你出现这个问题的原因是你上传源文件的时候错了。uploads文件夹里面的东西上传到网站根目录。我想你肯定是uploads文件夹上传到根目录了。你可以访问http://你的域名/uploads 这样就可以访问了.。
打开IIS中站点,在站点uploads目录、data目录以及静态html生成目录点击右键,菜单中选择“属性”,在目录属性面板选择执行权限为“无”即可。(如图1)
(图1)
IIS7
IIS7也类似于IIS6.0,选择站点对应的目录,data、uploads及静态html文件目录,双击功能试图面板中的“处理程序映射”(如图2)
(图2)
在“编辑功能权限……”中,我们直接去除脚本的执行权限即可。(如图3)
(图3)
Apache下目录脚本的执行权限设置。
独立主机配置
在Apache中,没有Windows 下IIS的图形管理界面,我们需要手工修改下apache的配置文件,来进行目录脚本的执行权限的设定。
首先我们找到apache的配置文件httpd.conf,通常情况下,该配置文件在apache安装目录下的conf文件夹中(如图4)。
(图4)
打开httpd.conf文件,找到内容中如图5的位置:
(图5)
将需要限制执行脚本文件的目录配置添加到下方:
配置内容为:
<Directory "DIR"> 。
<FilesMatch ".(php|asp|jsp)$"> 。
Deny from all 。
</FilesMatch>。
</Directory>。
配置内容中的DIR为需要限制执行脚本文件的目录,FilesMatch后的内容为需要限定的执行的脚本后缀名。例如:这里需要禁止测试站点uploads文件夹下的PHP,ASP,JSP脚本的运行,则进行如下图6配置:
(图6)
在配置完成后,重启一下apache,配置便生效!
在操作前,uploads文件夹下我新建了一个index.php文件,图7为未作配置前访问情况。
(图7)
图8为重启apache后访问该页面的效果。
(图8)
虚拟主机/空间配置
在配置前需要确认你的空间是否支持.htaccess和rewrite,该方法基于.htaccess文件中使用rewrite来达到禁止指定脚本的运行效果。
规则内容如下:
RewriteEngine on RewriteCond % !^$ 。
RewriteRule uploads/(.*).(php)$ – [F] 。
RewriteRule data/(.*).(php)$ – [F] 。
RewriteRule templets/(.*).(php)$ – [F]。
针对uploads,data,templets 三个目录做了执行php脚本限制;
将如上内容存储至到.hatccess文件中,将该文件存放到你的站点根目录下,
这样,目录脚本的执行权限就控制好了,规则上传前后的效果同图7,图8。
有再上传之前,你必须已经买好空间和域名,并且已经绑定了,如果已经完成了,那么有两种方法方法上传到网站:
1.直接登录主机后台,找到文件管理,点击文件管理,把。
uploads文件里的东西压缩上传到根目录,然后在线解压,就完成了。
2.下载一个ftp工具,配置ftp工具,连接以后,通过ftp工具,uploads文件里的东西压缩上传到根目录,然后进入主机后台解压,就完成了。
具体如下:
(1)下载好ftp工具
(2)打开软件,在左上角找到站点,点击站点找到站点管理,点击。
(3)进入以后左下角点击新建站点,给网站取个名字,
(4)进入一个”常规“页面,需要填写三个栏目,分别是”地址“、”用户名“和”密码“
(5)”地址“栏填写的是主机地址,”用户名“填写的是你的域名【不带后缀】
(6)”密码“填的是用户密码
(7)填好以后、点击连接,就可以了,然后就可以上传文件。
如果你的确用的"/uploads/"那可能是文件夹不存在造成的,/是根目录, ./是当前目录, ../是上级目录。
再次强调, /是根目录, 根目录就是最上级的那层目录. 可能是E:\uploads或者/uploads.。
默认的一般是htdocs,不知道你的文件夹是哪一个。
你可以在你网站上建一个index.php,写一个跳转到你自己的目录主页。可以用header,也可以用别的。