Apache中有没有办法指定单个.htaccess文件?

时间:2017-09-05 07:21:08

标签: apache .htaccess

我的托管允许使用.htaccess文件,因为配置文件不可用。

我知道覆盖文件所带来的性能损失 - 所以我在想 - 如果Apache提供了一个单独的.htaccess文件的模式 - 这不会比检查多个.htaccess文件更快还在保持方便吗?

1 个答案:

答案 0 :(得分:1)

  

如果Apache提供了一个具有单个.htaccess文件的模式

嗯,不是"模式"因此,您可以通过允许.htaccess作为父目录(根目录或甚至是文档根目录之上的目录)来实现此目的,并禁用所有子目录中.htaccess个文件的使用。父目录中的.htaccess文件仍将适用。

实际上(如果确实这是真实的&#34;现实&#34;),您可能需要为文档根目录&#34;上的目录启用.htaccess。并在文档根目录及其下方禁用.htaccess,而不是为文档根目录启用.htaccess。否则,如果为文档根启用.htaccess,则必须单独为每个子目录禁用.htaccess。如果添加更多子目录,则需要相应地更新服务器配置。 (因为AllowOverride指令只允许<Directory>容器而不使用正则表达式,而不是<DirectoryMatch>个容器。)但是,这可能不适用于某些共享主机环境(文档根目录上方可能没有&#34;&#34;),它可能会影响某些CMS的安装。

请注意,您显然需要访问服务器配置(或VirtualHost)才能实现此功能,因此在此实例中它是假设的。

  

不会比检查多个.htaccess文件更快

可能。但你只是在谈论实际上最好的微观受害者。在大多数网站上,即使启用.htaccess文件也几乎不会引起注意 - 如果有的话。 &#34;性能打击&#34;你说的并不像你想象的那么大。换句话说,如果你发现.htaccess被证明是一个瓶颈,那么你要么做错了,要么你有更严重的问题需要解决。

但请注意,您通常只在较小的网站上使用.htaccess个文件。在较大/较高流量的站点上,您将拥有自己的VPS /服务器并访问服务器配置,因此不需要使用.htaccess(或者,重要的是,启用它)。

  

虽然仍保持方便?

不完全是。方便的一部分&#34;能够将.htaccess文件放在您喜欢的任何目录中,覆盖父指令并将其应用于该目录树。 (它是服务器配置中<Directory>容器的 userland 等效项。)