Apache

# Apache 常用配置

# 配置允许跨域

修改 xampp/apache/conf/httpd.conf 配置文件

<IfModule headers_module>
    ...
    Header set Access-Control-Allow-Origin *
</IfModule>

# Directory 配置

在Apache服务器的httpd.conf配置文件中,Directory配置项被用于指定在服务器上访问特定目录时的配置信息。它允许你对特定目录的访问进行细粒度的控制。

Directory配置项的一般语法如下:

<Directory "路径">
    配置指令
</Directory>

其中,路径指定了要配置的目录的路径。在配置指令部分,你可以使用各种不同的指令来定义具体的配置。

下面是一些常见的Directory配置指令的示例:

  • AllowOverride:指定是否允许使用.htaccess文件来覆盖配置。可选值有All、None、AuthConfig、FileInfo、Indexes等。
  • Options:指定目录的选项,例如Indexes(允许列出目录内容)、FollowSymLinks(允许跟随符号链接)等。
  • Order:指定访问控制的顺序,可选值有allow、deny。
  • Allow:指定允许访问的IP地址或IP地址范围。
  • Deny:指定拒绝访问的IP地址或IP地址范围。

以下是一个示例,展示了如何使用Directory配置项来设置特定目录的访问控制:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

上述示例中,配置了位于/var/www/html目录下的文件的访问权限。其中,Options指定了允许列表目录内容和跟随符号链接,AllowOverride指定不允许使用.htaccess文件进行配置覆盖,Order和Allow指定了允许所有IP地址的访问。

请注意,为了使Directory配置项生效,需要确保Apache服务器已加载了所在httpd.conf文件中的配置。通常,在配置文件中的其他位置会包含一个类似于 Include conf/extra/httpd-vhosts.conf 的语句,该语句会加载其他配置文件,你可以在其中添加Directory配置项。

# 禁止浏览目录直接列出文件列表

  • 方法1:编辑配置文件 /xampp/apache/conf/httpd.conf

    • # 在浏览器中访问/js目录时禁止直接列出文件列表:去掉 Options 中的 Indexes(目录允许目录索引)
      <Directory "D:/Code/xampp/htdocs/js">
          # Options Indexes FollowSymLinks ExecCGI Includes
          Options FollowSymLinks ExecCGI Includes
          AllowOverride All
          Order allow,deny
          Allow from all
      </Directory>
      
  • 方法2:或在 Indexes 前面添加 -

    • 在Indexes前,加 + 代表允许目录浏览;加 – 代表禁止目录浏览
  • 方法3:可以在***根目录的 .htaccess 文件***中输入

    • <Files *>
          Options -Indexes 
      </Files>
      

      阻止Apache将目录结构列表显示出来

最后重启Apache服务器