我的托管允许使用.htaccess文件,因为配置文件不可用。
我知道覆盖文件所带来的性能损失 - 所以我在想 - 如果Apache提供了一个单独的.htaccess文件的模式 - 这不会比检查多个.htaccess文件更快还在保持方便吗?
答案 0 :(得分:1)
如果Apache提供了一个具有单个
.htaccess
文件的模式
嗯,不是"模式"因此,您可以通过允许.htaccess
作为父目录(根目录或甚至是文档根目录之上的目录)来实现此目的,并禁用所有子目录中.htaccess
个文件的使用。父目录中的.htaccess
文件仍将适用。
实际上(如果确实这是真实的"现实"),您可能需要为文档根目录"上的目录启用.htaccess
。并在文档根目录及其下方禁用.htaccess
,而不是为文档根目录启用.htaccess
。否则,如果为文档根启用.htaccess
,则必须单独为每个子目录禁用.htaccess
。如果添加更多子目录,则需要相应地更新服务器配置。 (因为AllowOverride
指令只允许<Directory>
容器而不使用正则表达式,而不是<DirectoryMatch>
个容器。)但是,这可能不适用于某些共享主机环境(文档根目录上方可能没有&#34;&#34;),它可能会影响某些CMS的安装。
请注意,您显然需要访问服务器配置(或VirtualHost)才能实现此功能,因此在此实例中它是假设的。
不会比检查多个.htaccess文件更快
可能。但你只是在谈论实际上最好的微观受害者。在大多数网站上,即使启用.htaccess
文件也几乎不会引起注意 - 如果有的话。 &#34;性能打击&#34;你说的并不像你想象的那么大。换句话说,如果你发现.htaccess
被证明是一个瓶颈,那么你要么做错了,要么你有更严重的问题需要解决。
但请注意,您通常只在较小的网站上使用.htaccess
个文件。在较大/较高流量的站点上,您将拥有自己的VPS /服务器并访问服务器配置,因此不需要使用.htaccess
(或者,重要的是,启用它)。
虽然仍保持方便?
不完全是。方便的一部分&#34;能够将.htaccess
文件放在您喜欢的任何目录中,覆盖父指令并将其应用于该目录树。 (它是服务器配置中<Directory>
容器的 userland 等效项。)