.htaccess文件应该放在哪个文件夹下

.htaccess文件可以放在根目录下,也可以放在需要配置的多个文件夹中。

简单来说,htaccess文件是Apache服务器中的一个配置文件,负责配置相关目录下的网页。
通过htaccess文件,我们可以帮助我们:重定向301网页、自定义404错误页面、更改文件扩展名、允许/阻止对特定用户或目录的访问、禁用目录列表、配置默认文档等。

.htaccess可以实现的功能包括:文件夹密码保护、自动用户重定向、自定义错误页面、更改文件扩展名、阻止特定IP地址、仅允许特定IP地址、禁用目录列表以及使用其他文件例如索引文件和执行其他功能。

扩展信息:

不使用.htaccess时:

一般情况下,.除非您有权访问主配置文件,否则不应使用htaccess文件。
有一个非常常见的误解,认为用户身份验证只能通过.htaccess文件来实现。
事实并非如此。
将用户身份验证写入主配置文件是完全可能的,也是一个很好的方法。

当内容提供商需要在没有root权限的情况下修改特定目录的服务器配置时,必须使用.htaccess文件。
如果服务器管理员不愿意频繁更改配置,他或她可以允许用户通过.htaccess文件更改配置,特别是当ISP在同一台计算机上运行多个用户站点并希望用户能够更改配置时配置自己配置。

一般来说,您应该尽可能避免使用.htaccess文件。
您想要放入.htaccess文件中的任何配置都可以放入主配置文件的部分,并且效率更高。

如果AllowOverride启用.htaccess文件,Apache将不得不在每个目录中搜索.htaccess文件,因此启用.htaccess将导致性能下降,无论是否实际使用。
此外,每个请求都必须读取一次.htaccess文件。

参考:百度百科-htaccess

性能测试:Apache监控与调优——配置文件

Apache的配置文件是httpd.conf,存放在conf目录下。
该文件中配置的任何指令仅在httpd启动或重新启动时才会生效。
文件的每一行都包含一条指令。
反斜杠“\”用作语句的延续,后面是行尾。
语句参数之间用空格分隔,包含空格的参数必须用引号引起来。
语句不区分大小写,参数一般区分大小写。
井号“#”之前的行被视为注释并被忽略。
使用shell环境变量${ENVVAR}的值在配置文件行中引用。
未找到的变量的值在文件处理阶段之前保持不变。
覆盖环境变量后,配置文件中一行的最大长度为8192个字符。
配置文件包含ServerRoot、Listen、User、Group、PidFile、Timeout、KeepAlive、KeepAliveTimeout、Directory、DirectoryMatch、IfModule、Location、Options等指令。
其中ServerRoot设置主目录,Listen设置服务器IP地址和端口。
默认端口为80。
用户和组指定启动用户和组。
PidFile显示启动进程的位置。
Timeout设置连接超时时间,KeepAlive决定是否保持长连接。
KeepAliveTimeout控制长连接请求之间的间隔。
MPM多通道处理模块包括StartServers、MaxClients、Serverlimit等设置。
具体设置稍后会详细说明。
ServerName定义服务器主机名,DocumentRoot指定发布应用程序的位置,语法定义文档路径,如DocumentRoot/usr/web,访问my.host.com/index.html指向/usr/web/指数。
html。
Directory指令定义特定目录及其子目录的访问权限。
DirectoryMatch允许您匹配正则表达式及其子目录。
IfModule语句检测模块是否存在并执行关联操作。
Location指令将参数附加到URL,并且URL必须满足某些条件,例如~字符之外的正则表达式。
Options指令配置目录功能,例如All、ExecCGI、FollowSymLinks、Indexes、MultiViews和SymLinksIfOwnerMatch。
选项控制访问权限,例如运行CGI脚本、使用符号链接、查看索引文件等。
Apache允许您在一个目录中配置多个选项指令。
功能最多的指令生效,其他指令被忽略。
请注意,将选项与“+”或“-”混合可能会导致意外结果。