如何在 apache 中的 documentroot 下创建别名

如何在 apache 中的 documentroot 下创建别名

我正在尝试在文档根目录下创建一个可供虚拟主机访问的 bin 文件夹。

我目前通过 mysite.local/bin 访问该文件夹,但需要文件处于公共访问之下。

httpd配置文件

Alias /bin/ "C:/wamp/www/bin/"

<Directory "bin">
  AllowOverride None
  Options None
  Order allow,deny
  Allow from all
</Directory>

虚拟主机配置文件

<VirtualHost *:80>
  ServerName   mysite.local
  DocumentRoot "c:/wamp/www/mysite.com/html"
</VirtualHost>

理论上文件树应该读取

/mysite.com
    /html <-- where mysite.com reads from
    /bin
    /other private folders

这样,url: mysite.com 中的文件实际路径:mysite.com/html/index.php 可以读取如下内容:

<?php include "../bin/privatefile.php"; ?>

答案1

我不太明白您的问题,但以下信息可能会有所帮助。

如果您尝试配置虚拟主机的目录,那么您应该将该配置放在指令内<VirtualHost>,而不是 httpd.conf 中。

你的<Directory>指令不正确: <Directory>采取目录路径参数。您提供了url 路径参数,适用于<Location><Directory>指令。 <Location>非常相似,主要区别在于参数是目录路径还是 url 路径。

文件“将 URL 映射到文件系统位置”也可能有帮助。


bin/在你绘制的目录树中,多于 html/,不低于。

您根本不需要 Alias 或 Directory 指令。PHP include 指令中的路径是文件系统路径,而不是 URL 路径。我只是测试了一下以验证,因为我对 PHP 不太熟悉。

相关内容