2012-05-27 48 views
15
  1. 我是新来的.htaccess,我想知道如何使用.htacces,以防止通过我的文件夹的URL直接访问,例如, localhost/mycart/images/OR localhost/mycart/css应显示禁止消息。如何防止目录访问和显示禁止在php中的错误

  2. 目前我已经把index.php放到了我的网站的每个文件夹中,并且回复消息是完成它的好方法。

  3. 当我访问我的网站像www.mycart/index.php/css或www.mycart/index.php/images它显示网站没有图像和CSS为什么以及如何解决它?

+0

#3:您为什么在意?为什么有人会这样做,然后抱怨呢?发生这种情况的原因是'foo.php/whatever'仍然会调用'foo.php',但是对于浏览器来说,它看起来像在一个名为'foo.php'的文件夹中,因此任何相关链接都不起作用。 – ThiefMaster

+0

感谢哥们,我真的不需要那样做,只是为了我想要做的练习。 –

+0

有什么办法可以预防它吗? 问关于foo.php /不管显示只有知识的css的页面! –

回答

31

我用

# disable directory browsing 
Options -Indexes 

相反,要启用目录浏览,请使用以下d irective:

# enable directory browsing 
Options +Indexes 

同样,此规则将阻止服务器列出目录内容:

# prevent folder listing 
IndexIgnore * 

最后,该IndexIgnore指令可用于防止选择文件类型的显示:

# prevent display of select file types 
IndexIgnore *.wmv *.mp4 *.avi *.etc 

提供自:Prevent Unauthorized Directory BrowsingStupid HTACCESS Tricks

它还包含许多其他有用的命令,用于.htaccess以提高安全性和性能。

7

如果要拒绝访问所有文件:

deny from all 

如果要禁用目录列表:

​​
+1

当我使用全部拒绝时,我无法打开我网站的任何部分。所以为什么使用这个选项 –

9

您可以简单地添加以下到你的.htaccess

# Don't listing directory 
Options -Indexes 
ErrorDocument 403 http://www.your-website-home-page.com/ 
# Follow symbolic links 
Options +FollowSymLinks 

# Default handler 
DirectoryIndex index.php 

这将加载仅在文件浏览index.php文件。如果没有找到index.php文件,则会发生403错误(访问受限),它会将用户发送到主页