我有一个工作的django.cgi文件,允许提供内容。
在许多教程中,我得到了.htaccess
文件的以下代码段:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ django.cgi/$1 [QSA,L]
此代码段允许直接访问任何文件(无需使用cgi脚本)。
我想禁止直接访问任何文件,以便只能将文件传递给cgi脚本,但/ static目录中的所有文件除外。我试过了:
order allow,deny
deny from all
<Files django.cgi>
order allow,deny
allow from all
</Files>
但是有了这个解决方案,我可以打电话给www.mysite.com/django.cgi,而禁止使用www.mysite.com。是否有正确的方法将任何内容传递给cgi脚本(静态文件夹除外)?
*编辑*
出于任何原因,如果我放弃RewriteCond RewriteCond %{REQUEST_FILENAME} !-f
,我将收到500错误
答案 0 :(得分:1)
尝试删除RewriteCond %{REQUEST_FILENAME} !-f
。
该条件是从规则中排除现有文件,应该是这样的:
RewriteCond %{REQUEST_URI} !django\.cgi [NC]
RewriteRule ^(.*)$ django.cgi/$1 [QSA,L]