.htaccess或httpd.conf

Pay*_*pal 4 apache .htaccess httpd.conf

我现在需要做一个网址重写工作.

我不知道是否应该将代码放入.htaccess或httpd.conf中?

编辑

什么是.htaccess的影响范围?它会影响所有请求还是只影响它所在的​​特定目录的请求?

Mik*_*ike 9

如果您不经常更改规则,则应将它们放在httpd.conf中并关闭覆盖规则适用的顶级目录

AllowOverride None
Run Code Online (Sandbox Code Playgroud)

如果没有覆盖,您的apache将不会扫描.htaccess文件的每个目录,从而减少每个请求的开销.

每当您必须更改规则时,如果将它放在httpd.conf中,则必须重新启动它,而不是在.htaccess文件中立即检测到它们,因为它会在每次请求时读取它们.

您可以使用apachectl工具正常重启,轻松完成此操作,以避免切断当前正在提供的请求.

apachectl graceful
Run Code Online (Sandbox Code Playgroud)

如果你不打算关闭覆盖,你也可以只使用.htaccess.

编辑以响应您的修改:

假设您有www.example.com/dir1/dir2/dir3/file的请求

如果允许覆盖,Apache将在所有这三个目录中查找.htaccess文件,并在根目录中查找要应用于请求的规则.