使用.htaccess隐藏文件夹

时间:2009-09-05 01:45:17

标签: .htaccess directory

是否可以隐藏根文件夹中的文件夹? 万一我的index.php会消失,你知道吗?

如果有人请求,我是否还会显示404错误?

10 个答案:

答案 0 :(得分:36)

你想要的可能是

Options -Indexes

如果没有找到DirectoryIndex文件,则会发出404错误。

答案 1 :(得分:21)

IndexIgnore *

以上内容将阻止列出所有文件。这里*充当通配符。如果需要,您可以用更具体的内容替换它。

答案 2 :(得分:13)

正如duskwuff所说,你需要的是

Options - Indexes

这将导致该特定目录上的403禁止错误。因此,要提供您需要的自定义错误页面

ErrorDocument   403 myErrorPage.html

希望这有帮助

答案 3 :(得分:1)

这是我对同一问题的首选解决方案(虽然这显示了拒绝访问而不是404):

<files "/path/to/single/file/or/folder">
  order allow,deny
  deny from all
</files>

这也为您提供了访问某些IP的选项(在这种情况下,它拒绝访问所有IP)

如果要使用模式,可以使用正则表达式替换“/ path / to / single / file / or / folder”。否则,您必须为要阻止访问的每个特定文件或文件夹使用多个块。

答案 4 :(得分:1)

如果您确实要为子文件夹显示404错误,请在/.htaccess中尝试以下操作:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [R=404,L]

如果请求现有的/folder/subfolder,则上述规则会将其重写为/404

答案 5 :(得分:1)

我通过在我不想访问的所有文件夹上添加index.html来解决这个问题。 index.html页面包含一行,其中包含以下header("Location:thepageiwanttoshown.html")。这样,如果用户意外访问受限制的文件夹,他们将被动态重定向。我希望它有所帮助

答案 6 :(得分:1)

在我的情况下,我这样做但它显示错误500.这是我的.htaccess

RewriteEngine on

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Options - Indexes

由于

答案 7 :(得分:0)

对我而言,它总是适用于添加

<Directory "/var/www/yourfolder"> IndexIgnore * </Directory>

到文件/ etc / apache2 / sites-available / default

答案 8 :(得分:0)

我使用了以下代码:

在您的主要根目录.htaccess中,放置以下代码:

RewriteEngine on
RewriteRule ^dfjgekbjvrskzcnfvberidurvf/?(.*)$    /folder1/$1 [L]


Then at .htaccess file in folder1 directory put this :

RewriteEngine on
RewriteCond %{THE_REQUEST} !dfjgekbjvrskzcnfvberidurvf
RewriteRule ^    - [F,L]

答案 9 :(得分:0)

在要隐藏文件夹列表和目录的目录中创建文件mame .htaccess

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [R=404,L]