嵌套级目录的URL重写

时间:2014-02-06 13:41:50

标签: .htaccess url-rewriting

我的网络服务器中有一个资源文件夹,其中包含javascript,css和其他文件夹的深层文件。当用户尝试使用以下网址访问此文件夹时:

www.example.com/assets

然后我显示404.html文件,这很容易完成:

RewriteEngine On
RewriteRule ^/assets/$ /404.html [NC,L]

但正如我说它里面有一个多文件夹,也显示404错误。我不想为其中的所有文件夹写入重写规则(因为它们很多)。我是url重写的初学者,任何人都可以告诉我如何用一行或两行代码实现这一点。

3 个答案:

答案 0 :(得分:0)

添加以下行:

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

哪个匹配/ assets / {anything} / {anything} / {anything} / ...

答案 1 :(得分:0)

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

Options -Indexes

.htaccess文件中。

答案 2 :(得分:0)

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

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

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