通过.htaccess访问文件

时间:2016-06-09 16:14:42

标签: php .htaccess

我是堆叠溢出的新手,也是.htaccess,所以让我们来点。

我的根目录中有一个文件lessons(.php),我希望它通过 .htaccess

显示为不存在

所以我使用这些指令来达到我的目标之一:

<Files lessons.php>
    Order Deny,Allow
    Deny from All
</Files>

我只知道我在我的目录中拒绝访问该文件,仅此而已

我的第二个问题是,我希望此文件只能在某些条件下访问,这意味着当有人试图访问该链接时

RewriteRule ^library/lessons/([a-z-]+) lessons?lesson=$1 [NC,L]

换句话说

library/lessons/ba-blah-blah-whatever/

所以我如何做到这一点,访问文件就像 if / else 条件一样,意味着如果有人在提到的那个链接上可以访问该文件,我知道我可以&#39;在 .htaccess 中使用 if / else ,但你知道我想说什么

1 个答案:

答案 0 :(得分:1)

我很确定你不需要任何如此复杂的东西。用mod_rewrite写一个正确的路线:

RewriteRule ^library/lessons/([a-z-]+) lessons.php?lesson=$1 [NC,L]

...如果您真的无法通过实际文件名进行访问,请阻止从PHP过滤$_SERVER['REQUEST_URI']访问权限并使用404状态代码中止。