Mod rewrite rewritecond检查它是脚本还是客户端

Mod rewrite rewritecond检查它是脚本还是客户端,mod-rewrite,client,Mod Rewrite,Client,我的网站通过包含“pages”目录(PHP)中的页面来工作,我想禁止访问该目录中的文件。然而,当我把一个.htaccess文件放在那里说:deny from all,它禁止对所有文件的访问,而不仅仅是对包含文件或使用样式表的请求 当用户试图查看这些文件时,我还尝试将其带到另一个页面,如下所示: RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/ RewriteRule ^.*$ index.php?path=1 [QSA] RewriteCond %{T

我的网站通过包含“pages”目录(PHP)中的页面来工作,我想禁止访问该目录中的文件。然而,当我把一个.htaccess文件放在那里说:
deny from all
,它禁止对所有文件的访问,而不仅仅是对包含文件或使用样式表的请求

当用户试图查看这些文件时,我还尝试将其带到另一个页面,如下所示:

RewriteCond %{THE_REQUEST} \.php[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} \.css[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} \.js[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]
这是可行的,它只是不允许加载样式表/js。它允许包含PHP文件,但不允许查看,这很好,所以我可以保留这三个文件中的第三个。但是我的css文件包含关于我的文件结构的信息,我不想泄露给黑客。所以,我不希望这些信息公开

无论如何……我的问题是:
如果最后两个条件仅适用于来自客户的请求,是否有一个
重写条件可以放在前面?
i、 e


另外,如果可能的话,我不想通过
deny from all
这样做,因为我在共享主机上,他们可能不喜欢这样做。

检查HTTP\u REFERER是否是.php页面以外的其他内容可以用于.js和.css文件包

你怎么知道什么时候来自客户?这个网站还在开发中。我知道是因为我把它输入了我的地址栏。好吧,我想你知道,但我的问题是试图确定客户的请求和任何其他请求之间的区别。必须有一些东西来识别传入的URL,否则就不可能用
RewriteCond
对它们进行过滤,您的问题的答案将是否定的。
RewriteCond %{THE_REQUEST} IS_COMING_FROM_A_CLIENT_OR_BROWSER
RewriteCond %{THE_REQUEST} \.css[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]

RewriteCond %{THE_REQUEST} IS_COMING_FROM_A_CLIENT_OR_BROWSER
RewriteCond %{THE_REQUEST} \.js[\ /?].*HTTP/
RewriteRule ^.*$ index.php?path=1 [QSA]