htaccess阻止直接页面加载

时间:2013-02-02 19:36:23

标签: php .htaccess

我试图阻止直接访问我的网站上的所有php文件,除了index.php使用htaccess。到目前为止我已经得到了以下代码,但是它仍然不能阻止表单直接访问php文件。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ index.php?page=$1 [L]
</IfModule>

我的解决方案:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond $1 !^(index\.php|.*\.css|.*\.js|.*\.png|.*\.gif|.*\.jpg)
RewriteRule ^(.*)$ index.php?page=$1 [L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

这是因为这些行:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

如果请求的资源是文件或目录,那么明确告诉重写模块不运行以下规则

但是,我同意最好将它们完全移出网络根目录。