隐藏css、js、图片文件夹所在的目录
Hide directory where css, js, image folder are placed
我想 保护 并从 publicity 中隐藏我的 asset 文件夹。我听说可以使用 .htaccess
文件并将名称从我的 directory-name
更改为 random 目录名称,在这种情况下,用户不能知道放置在我的 public_html 中的目录的真实名称。有人可以帮我提供各种文档的示例吗?我没有尝试任何东西,因为我对 .htaccess
编码的了解真的很差。任何帮助将不胜感激。
嗯,你可以这样做,但我很好奇它的目的是不是随便“隐藏”底层文件目录?这实际上并没有提供任何额外的“安全性”,如果您有一个旨在提供静态内容的前端代理,也可能会导致问题。如果您使用像 WordPress 这样的 CMS,也可能会出现问题,因为您可能需要修改默认行为。 (虽然您可能会选择这样做的其他发展问题。)
理想情况下,您可以使用主服务器配置(或 vHost 容器)中的 Alias
指令执行类似的操作。
在 .htaccess
中,您可以使用 mod_rewrite 在内部重写请求。假设您在 URL 中引用 /assets
,但它应该映射到的实际文件系统目录是 /secret
,那么您可以执行以下操作来简单地转发 all 请求 /secret
:
RewriteEngine on
RewriteRule ^assets/(.+) secret/ [L]
只会转发 /assets/<something>
的请求。 /assets
或 /assets/
的请求只会导致 404(假设该目录实际上不存在)。
要根据文件扩展名更有选择性地只转发对特定文件类型的请求,那么您可以执行如下操作:
RewriteRule ^assets/(.+\.(?:jpg|webp|gif|css|js))$ secret/ [L]
您还可以在重写之前检查目标文件是否确实存在,但这通常是不必要的,最好避免,因为文件系统检查相对昂贵。
我想 保护 并从 publicity 中隐藏我的 asset 文件夹。我听说可以使用 .htaccess
文件并将名称从我的 directory-name
更改为 random 目录名称,在这种情况下,用户不能知道放置在我的 public_html 中的目录的真实名称。有人可以帮我提供各种文档的示例吗?我没有尝试任何东西,因为我对 .htaccess
编码的了解真的很差。任何帮助将不胜感激。
嗯,你可以这样做,但我很好奇它的目的是不是随便“隐藏”底层文件目录?这实际上并没有提供任何额外的“安全性”,如果您有一个旨在提供静态内容的前端代理,也可能会导致问题。如果您使用像 WordPress 这样的 CMS,也可能会出现问题,因为您可能需要修改默认行为。 (虽然您可能会选择这样做的其他发展问题。)
理想情况下,您可以使用主服务器配置(或 vHost 容器)中的 Alias
指令执行类似的操作。
在 .htaccess
中,您可以使用 mod_rewrite 在内部重写请求。假设您在 URL 中引用 /assets
,但它应该映射到的实际文件系统目录是 /secret
,那么您可以执行以下操作来简单地转发 all 请求 /secret
:
RewriteEngine on
RewriteRule ^assets/(.+) secret/ [L]
只会转发 /assets/<something>
的请求。 /assets
或 /assets/
的请求只会导致 404(假设该目录实际上不存在)。
要根据文件扩展名更有选择性地只转发对特定文件类型的请求,那么您可以执行如下操作:
RewriteRule ^assets/(.+\.(?:jpg|webp|gif|css|js))$ secret/ [L]
您还可以在重写之前检查目标文件是否确实存在,但这通常是不必要的,最好避免,因为文件系统检查相对昂贵。