【问题标题】:Apache Network Drive AliasApache 网络驱动器别名
【发布时间】:2011-11-17 21:37:44
【问题描述】:

我已经通过 stackoverflow 搜索了一个类似的问题,但似乎没有一个解决方案有效。

我正在运行 WAMP,并且有一个网络驱动器 T:\,我想将其用作 Apache 中的别名。到目前为止,我已经添加:

别名 /p \\ps-file.server_location.edu\A$

订单允许,拒绝
全部允许
目录>

但是,每当我尝试访问 localhost/p 时,我都会收到一条 403 禁止消息,说 You don't have permission to access /p on this server. 有什么建议吗?

我已尝试更改 services.msc 中的登录设置,但这会阻止 apache 一起启动。

编辑:我还必须在第一次连接网络驱动器时输入我的登录信息。我可以以某种方式给 apache 我的登录信息吗?

【问题讨论】:

    标签: windows apache networking alias


    【解决方案1】:

    要解决这个问题,您需要: 授予董事会管理员 httpd.exe 文件的权限 使用“用户服务”窗格窗口的管理员对服务进行身份验证 留下httpd.conf文件所以

    DocumentRoot "//192.168.50.2/g/htdocs"

    设置这个机器名的文件被apache不识别的主机的ip

    【讨论】:

      【解决方案2】:

      caltor 是对的,这里很少编辑,你可以使用<Directory "/p"> 因为它有别名。但是 我也讨厌在 //p... 这样的配置中编写网络驱动器

      这里还有一个问题,这个方法不能执行exec()或者批处理文件,不能获取目录信息,open_dir等不能返回结果,apache也不能作为服务启动。为了解决这个问题,

      首先下载 http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx 将 zip 文件解压缩到 C:/sys。 打开 cmd ,然后

      cd c:/sys (enter)
      psexec -i -s cmd.exe
      

      然后出现一个新的命令行。你所需要的一切

      net use j: \\lethea\sharedfolder /persistent:yes
      

      会询问 lethea pc 的用户名和密码。 这里是 j:网络驱动器的简称。 完成此操作后,在 httpd.conf 文件夹中 您不需要创建别名或将完整的网络映射写入 Documentroot 和目录

      Documentroot = "j:/mywww"  #referencing \\lethea\sharedfolder\mywww
      <Directory "j:/mywww">
      

      ...

      【讨论】:

      • 在 Windows 8 上,我必须以管理员身份运行 cmd。如果任务栏有cmd窗口任务,右击,再右击命令提示符,点击以管理员身份运行
      【解决方案3】:

      您需要使用正斜杠而不是反斜杠,或者使用额外的反斜杠将它们全部转义,并将路径括在引号中,如 Xophmeister 所述。例如:

      Alias /p "//ps-file.server_location.edu/A$/"
      <Directory "//ps-file.server_location.edu/A$/">
      Order allow,deny
      Allow from all
      </Directory>
      

      或

      Alias /p "\\\\ps-file.server_location.edu\\A$\\"
      <Directory "\\\\ps-file.server_location.edu\\A$\\">
      Order allow,deny
      Allow from all
      </Directory>
      

      除非您在用于运行 apache 服务的用户配置文件中创建映射驱动器,否则使用 UNC 路径是正确的。

      【讨论】:

        【解决方案4】:

        为什么不像Alias /p T:\ 那样只是别名为T:\?否则,我的猜测是 Apache 没有访问指定 UNC 的必要权限(特别是,A$ 位可能搞砸了,因为它是一个特殊的共享)。

        【讨论】:

        • 如果我使用“T:\”我会得到一个找不到目录的错误,如果我使用 T:\ apache 甚至不会启动。我映射的网络驱动器也需要一个我知道的登录,但我不知道具体如何
        • 改用T:/。您可能还需要引用路径:"T:/"。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-04-13
        • 1970-01-01
        • 1970-01-01
        • 2014-06-23
        • 1970-01-01
        相关资源
        最近更新 更多