.htaccess 嵌套级别目录的URL重写

.htaccess 嵌套级别目录的URL重写,.htaccess,url-rewriting,.htaccess,Url Rewriting,我的Web服务器中有一个assets文件夹,其中包含javascript、css和其他深层文件夹等文件。当用户尝试使用url访问此文件夹时,如: www.example.com/assets 然后我显示404.html文件,该文件很容易完成,如下所示: RewriteEngine On RewriteRule ^/assets/$ /404.html [NC,L] 但正如我所说,它里面有一个多文件夹,也显示404错误。我不想为其中的所有文件夹编写重写规则(因为它们的文件夹很多)。我是url重

我的Web服务器中有一个assets文件夹,其中包含javascript、css和其他深层文件夹等文件。当用户尝试使用url访问此文件夹时,如:

www.example.com/assets
然后我显示404.html文件,该文件很容易完成,如下所示:

RewriteEngine On
RewriteRule ^/assets/$ /404.html [NC,L]
但正如我所说,它里面有一个多文件夹,也显示404错误。我不想为其中的所有文件夹编写重写规则(因为它们的文件夹很多)。我是url重写的初学者,谁能告诉我如何用一两行代码实现这一点

添加行:

RewriteRule ^/assets/(([^/]*)/)+$ /404.html 

它将匹配/assets/{anything}/{anything}/{anything}/..

如果您想阻止访问者列出目录中的文件,可以使用

Options -Indexes

.htaccess
文件中。

您只需使用此规则将所有
/assets/*
请求转发到/404.html:

RewriteRule ^assets(/|$) /404.html [NC,L]

确保此规则是您的第一条规则。

它将与/assets/{anything}/匹配,但不会与/assets/{anything}/{anything}/{anything}匹配。。我的意思是,它们是多层次的目录,我希望用户能够访问其中任何一个,直到它成为一个文件。是的,是的,但我认为这与OP可能要实现的目标有关