使用.htaccess隐藏文件夹

使用.htaccess隐藏文件夹,.htaccess,directory,.htaccess,Directory,是否可以将文件夹隐藏在我的根文件夹中? 以防我的index.php消失你知道吗 如果有人请求,我是否可以显示404错误未找到 IndexIgnore * 上述操作将阻止列出所有文件。这里,*充当通配符。如果需要的话,你可以用更具体的东西来代替它。你想要的可能是 Options -Indexes 如果找不到DirectoryIndex文件,则只会出现404错误。正如Daskwuff所述,您需要的是 Options - Indexes 这将在该特定目录上导致403禁止错误。因此,要提供自定义错

是否可以将文件夹隐藏在我的根文件夹中? 以防我的index.php消失你知道吗

如果有人请求,我是否可以显示404错误未找到

IndexIgnore *

上述操作将阻止列出所有文件。这里,
*
充当通配符。如果需要的话,你可以用更具体的东西来代替它。

你想要的可能是

Options -Indexes

如果找不到DirectoryIndex文件,则只会出现404错误。

正如Daskwuff所述,您需要的是

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

ErrorDocument   403 myErrorPage.html

希望这对我有帮助,它总是与添加

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

对于文件/etc/apache2/sites available/default

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


命令允许,拒绝
全盘否定
这也使您可以选择授予对某些IP的访问权限(在本例中,它拒绝对所有IP的访问)


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

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

RewriteEngine on

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

如果请求了一个现存的
/文件夹
/子文件夹
,上述规则将把它重写为
/404

我通过在我不想访问的所有文件夹上添加index.html来解决这个问题。index.html页面包含一行,带有以下
标题(“位置:thepageiwanttoshown.html”)
。这样,如果用户意外访问受限制的文件夹,它们将被动态重定向。我希望这对我有帮助,我这样做了,但它显示了错误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
重新编写引擎打开
#开始WordPress
重新启动发动机
重写基/
重写cond%{REQUEST_URI}^/[0-9]+\..+\.cpaneldcv$
重写条件%{REQUEST\u URI}!^/\。众所周知的/pki验证/[A-F0-9]{32}\.txt(?:\comdo\DCV)$
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_URI}^/[0-9]+\..+\.cpaneldcv$
重写条件%{REQUEST\u URI}!^/\。众所周知的/pki验证/[A-F0-9]{32}\.txt(?:\comdo\DCV)$
重写规则/index.php[L]
#结束WordPress
选项-索引
谢谢

我使用了以下代码:

在main root.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]

在要隐藏文件夹列表的目录中创建一个文件mame.htaccess,只需此代码

RewriteEngine on

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

我认为这相当于403。这个答案晚了5个小时,但应该是公认的答案。这将在没有索引文件的情况下产生错误,然后您可以处理或使用默认的服务器文件。接受的答案将简单地隐藏目录视图页面中的文件夹。所以它产生了一个假阳性。。旧帖子,但在谷歌搜索结果中排名靠前。如何替换
*
?假设我有3个文件和1个文件夹要隐藏(
file1.jpg,some.pdf,else.html,I-am-a-folder
),IndexIgnore不允许访问其保护的文件夹中的已知文件位置。htaccess具有:
order allow,deny
deny from all
将做得更好。
RewriteEngine on

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