zhuyumu 发表于 2017-12-24 16:34:05

apache配置,apache直接打开文件而不下载问题

  apache什么用,如何下载的上面就不说了,apache的配置是一个非常复杂的工作,下面介绍最基本的apache配置吧,再介绍配置文件管理系统。
  安装过后需修改配置:
  修改httpd.conf配置文件(以安装目录D:/Apache24为例)
  ①ServerRoot"c:/Apache24" ==>"D:/Apache24"
  ②Listen80 ==> 8088
  ③ServerAdminadmin@example.com ==> administrator(这个随意配置,不改亦可)
  ④ServerNamewww.example.com:80 == > 192.168.1.215:8088(去掉#)
  ⑤DocumentRoot"c:/Apache24/htdocs" ==> "D:/Apache24/htdocs"
  ⑥<Directory "c:/Apache24/htdocs"> ==> <Directory "D:/Apache24/htdocs">
  ⑦ScriptAlias /cgi-bin/ "c:/Apache24/cgi-bin/" ==> ScriptAlias/cgi-bin/ "D:/Apache24/cgi-bin/"
  ⑧<Directory "c:/Apache24/cgi-bin"> ==> <Directory "D:/Apache24/cgi-bin">
  至此,启动apache,已能访问

  通常我们需要上传下载文件,直接放tomcat下会导致tomcat“爆炸”,所用放在特定目录,用apache服务访问该目录,如我们需要将文件上传到E:/test目录,那么要通过apache访问,则在httpd.conf加上如下配置:
  

Alias /test "E:/test"  

<Directory "E:/test">  Options FollowSymLinks
  AllowOverride None
  Order allow,deny
  Allow from all
  Require all granted
  

</Directory>  

  重启服务,

  可看到我们的配置已经成功,已经能通过apache访问我们上传到E盘指定目录的文件。至此,完成基本配置。
  然而我们可以发现,访问pdf、txt、java等后缀名的文件时,网页直接打开了这些文件,而通常情况下我们是需要下载,而不是直接打开。
  此问题也花了我不少时间去找问题,最后发现需要改文件类型配置<IfModule mime_module>,我们可以看到这里面的一句话TypesConfig conf/mime.types,
  这就是引入了一个外部配置文件,我们找到mime.types文件,继续找到如下内容进行修改


  即去掉相应后缀的配置(加#注释),在application/octet-stream中加上相应的文件类型,即可解决直接打开文件而不下载的问题。
  附:顺带讲下如何将非安装版的apache加入windows本地服务。cmd到apache的bin目录下,运行httpd.exe -k install命令,成功则在服务列表能看到,如果提示Failed to open the Windows service manager, perhaps you forgot to log in as Adminstrator? 则找到cmd命令的路径,即
鼠标右击cmd.exe,以管理员身份运行,再运行安装服务的命令,问题解决。
页: [1]
查看完整版本: apache配置,apache直接打开文件而不下载问题