首页 文章

Apache网络驱动器别名

提问于
浏览
1

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

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

别名/ p \ ps-file.server_location.edu \ A $ <目录/ p>订单允许,拒绝所有</ Directory>

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

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

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

4 回答

  • 1

    你需要使用正斜杠而不是反斜杠,或者使用额外的backslashas将它们全部转义,并将引号中的路径封闭,如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路径是正确的 .

  • 0

    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">
    

    ...

  • 5

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

  • 0

    为了解决这个问题,您将需要:向董事会管理员授予httpd.exe文件的权限,以便在用户服务窗格的管理员窗口中验证该服务,并保留httpd.conf文件,以便

    DocumentRoot“//192.168.50.2/g/htdocs”

    设置主机的ip,其中apache无法识别此机器名称的文件

相关问题