如果一个网站在文件树中多次存在,它可以使用多个 .htaccess 文件吗?
Posted
技术标签:
【中文标题】如果一个网站在文件树中多次存在,它可以使用多个 .htaccess 文件吗?【英文标题】:Can a website use multiple .htaccess files if it exists multiple times in the file tree? 【发布时间】:2014-08-31 20:26:39 【问题描述】:其实我在想,
如果我将 .htaccess 放在 /public_html
文件夹和 /public_html/example_site/
内,/public_html/example_site/
内的页面会同时使用它们吗?
如果出现冲突的论点,两者中哪一个会更有利?
用例我想将一些规则应用于我托管的每个网站,但也有一些特定于网站的 .htaccess 规则。因此,我想使用两个(或更多).htaccess 文件。
【问题讨论】:
我不确定您是否可以使用多个 .htacess 文件,但是您当然可以制定仅针对单个域的规则,这肯定会满足您的用例 【参考方案1】:.htaccess
文件适用于目录及其子目录。 “较深”的优先于目录结构中较高的。
顺便说一句,如果您可以访问 Apache 配置本身,您应该在其中放置指令并完全禁用 .htaccess (AllowOverride None
)。否则,网络服务器必须扫描每个目录以查找 .htaccess
文件。
http://httpd.apache.org/docs/current/howto/htaccess.html
【讨论】:
【参考方案2】:要回答您的第一个问题,如果/public_html/example_site/.htaccess
存在,那么它将优先于/public_html/.htaccess
。如果存在较低级别的 .htaccess,则根本不会使用 /public_html/.htaccess
中的指令。
现在第二个问题:
用例 我想将一些规则应用于我托管的每个网站,但也有一些特定于站点的 .htaccess 规则。因此,我想使用两个(或更多).htaccess 文件。
如果您想使用来自父级 .htaccess 的指令,请使用:
RewriteOptions Inherit
但请记住,从父范围继承的规则在子范围中指定的规则之后应用。
【讨论】:
以上是关于如果一个网站在文件树中多次存在,它可以使用多个 .htaccess 文件吗?的主要内容,如果未能解决你的问题,请参考以下文章