我正在开发一个新项目,我希望通过使用2级文件夹来提高安全性。 文件夹“Core”包含所有文件夹,包括“public”,它们是访问者可以访问的唯一文件夹。
关于我的webdir的简短介绍:
webdir | - .htaccess (core) | - classes | - functions | - public | - .htaccess (public) | - css | - files | - de | - en | - general | - nl | - images | - index.php | - js | - swf | - template
有关您的信息:
公共/ index.php的
中看到[geturl]为“openfile”
public / index.php想要打开:“files / nl / openfile.php”
我想用.htaccess实现的目标如下:
我当前的.htaccess文件:
.htaccess(核心)
<IfModule mod_rewrite.c>
RewriteEngine on
Options +FollowSymLinks
Options -Indexes
RewriteCond %{HTTP_HOST} ^customer.com$ [NC]
RewriteRule ^(.*)$ http://www.customer.com/$1 [R=301,L]
RewriteRule ^company(.*)$ public/$1?section=company [L]
RewriteCond %{QUERY_STRING} (.*)
RewriteRule !(nl|en|de)/(.*).* /webdir/nl/ [R=301,L] # IF NO LANG ISSET THAN NL REDIRECT
RewriteRule ^error(.*).* public/?getpage=error&%1 [PT,L]
RewriteRule ^(nl|en|de)/(.*).* public/$2?section=$1&%1 [L]
</IfModule>
.htaccess(公开)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} (.*)
RewriteRule ^(.*).* index.php?geturl=$1&%1 [PT,L]
</IfModule>
我做错了什么以及如何改进.htaccess文件?
总结一下,我希望.htaccess能够做到以下几点:
答案 0 :(得分:0)
您是否知道可以通过.htaccess
内置deny from all
来阻止整个目录?
通过这种方式,您可以使项目结构更简单,更便携。