.htaccess拒绝索引和服务器端的所有内容

时间:2017-02-04 17:58:21

标签: php apache .htaccess mod-rewrite

我已经在脑海中搜索了关于它的每个关键词,我知道有类似的问题,但这不是重复的,因为它们对我不起作用(不是我需要的确切设置或只是不起作用)。

我在我的Windows 10 PC(Apache和mysql)上运行XAMPP,还没有在文件中进行过多的混淆,但对这些内容有了真实的了解。

我想要的是位于htdocs文件夹(可查看的根目录)中的allow/deny文件中的.htaccess块或者更好的域名重写块:

  • 拒绝对位于可查看根目录中的文件的所有直接访问尝试

排除:

  • whatevery(sub)文件夹中名为index.php的所有文件可能是
  • 或者,如果访问尝试来自服务器本身(大多数其他解决方案的问题是.css|.js|.png和我的.php文件所需的其他文件将被阻止,甚至包括其他{{1文件将被阻止)

我尝试了很多解决方案,但所有这些解决方案都在上面列出的点上失败了! 如果有工作,我感谢你的帮助,如果不让我知道。

-RmOL

1 个答案:

答案 0 :(得分:0)

任何MVC框架.htaccess文件都可以解决这个问题。在您的Web根目录中尝试此操作

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
不要忘记启用mod_rewrite并重启apache :) 如果你寻找别的东西试试

defined('BASEPATH') OR exit('No direct script access allowed');

在您要保护的每个文件的开头。第二个解决方案来自CodeIgniter