我是堆叠溢出的新手,也是.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 ,但你知道我想说什么
答案 0 :(得分:1)
我很确定你不需要任何如此复杂的东西。用mod_rewrite写一个正确的路线:
RewriteRule ^library/lessons/([a-z-]+) lessons.php?lesson=$1 [NC,L]
...如果您真的无法通过实际文件名进行访问,请阻止从PHP过滤$_SERVER['REQUEST_URI']
访问权限并使用404状态代码中止。