본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

The AllowOverride directive in Apache HTTP Server is used to specify which types of directives can be overridden by `.htaccess` files in specific directories. By default, Apache uses configuration files like `httpd.conf` or `apache2.conf` for global settings, but `AllowOverride` enables web administrators to override these settings at the directory level using `.htaccess` files. This is particularly useful for shared hosting environments where users may need to manage configurations independently.

Purpose of AllowOverride

편집 원본 편집

The AllowOverride directive controls what settings can be modified in `.htaccess` files for specific directories. This allows flexibility by granting users control over certain aspects of their environment while maintaining overall server security and performance.

Common AllowOverride Directives

편집 원본 편집

The `AllowOverride` directive can be set to various levels, each determining the types of directives permitted in `.htaccess` files. It can be specified in Apache’s main configuration files, typically `httpd.conf` or `apache2.conf`, or within specific `<Directory>` blocks.

AllowOverride None

편집 원본 편집

Disables the use of `.htaccess` files entirely:

<Directory "/path/to/directory">
   AllowOverride None
</Directory>

This setting prevents any overrides in `.htaccess` files, meaning only server-wide configuration files can control the directory.

AllowOverride All

편집 원본 편집

Allows all settings to be overridden in `.htaccess` files:

<Directory "/path/to/directory">
   AllowOverride All
</Directory>

This enables complete control in `.htaccess`, allowing users to modify all configurations permitted by Apache.

AllowOverride Specific Directives

편집 원본 편집

To allow only specific types of directives in `.htaccess`, set `AllowOverride` to one or more of the following options:

  • AuthConfig: Allows use of authentication-related directives, such as `AuthType` and `Require`.
  • FileInfo: Permits directives that control document types, such as `AddType`, `AddHandler`, and `RewriteEngine`.
  • Indexes: Enables directory indexing directives, such as `Options +Indexes` and `IndexOptions`.
  • Limit: Allows access control directives, such as `Allow`, `Deny`, and `Order`.
  • Options: Permits the use of the `Options` directive to control specific features in the directory, such as `FollowSymLinks` or `Includes`.

Example configuration allowing only authentication and file information directives:

<Directory "/path/to/directory">
   AllowOverride AuthConfig FileInfo
</Directory>

Security Considerations

편집 원본 편집

While `AllowOverride` provides flexibility, improper use can lead to security and performance issues:

  • Limit Use of AllowOverride All: Allowing all directives in `.htaccess` files can expose the server to security risks and increase processing overhead.
  • Avoid Sensitive Directives in .htaccess: Restrict sensitive configurations to server-wide files, as `.htaccess` files are publicly accessible and can be modified by unauthorized users in shared environments.
  • Control Performance Impact: Each `.htaccess` file is processed upon every request, so minimizing their usage can improve server performance, especially in high-traffic environments.

The `AllowOverride` directive is closely related to other Apache configuration and security concepts:

  • .htaccess: The `.htaccess` file is a directory-level configuration file used to override Apache settings as permitted by `AllowOverride`.
  • Directory Access Control: `AllowOverride` works with `<Directory>` blocks to specify which settings can be changed at the directory level.
  • Apache Configuration Hierarchy: Controls the precedence and scope of configuration files, including `.htaccess` and main configuration files.
  • Performance Optimization: Minimizing `.htaccess` usage and carefully setting `AllowOverride` can help optimize Apache performance.