两个 Apache 服务器根目录

两个 Apache 服务器根目录

我正在使用 Apache Friends (XAMPP)。我将其安装在 C: 驱动器下。其路径为 C:\xampp\
其默认根目录为 C:\xampp\htdocs。因此,所有程序都需要驻留在 C:\xampp\htdocs\ 中,以便我们可以运行http://localhost/myapp/

PhpMyAdmin 与 XAMPP 一起提供,但它位于 C:\xampp\ 中,可以从 /localhost/phpMyAdmin/ 运行。
当我的应用程序移动到 C:\xampp\ 时,我无法在 /localhost/myapp 中运行它。

我希望有两个服务器根目录 C:\xampp\ 和 C:\xampp\htdocs\,这样我就可以将我的私人应用程序和公共应用程序分开放在不同的文件夹中。并且两者都可以从http://本地主机/例如 /localhost/myprivateapp/ 和 /localhost/mypublicapp/

我该怎么做?我用的是 Windows XP。

答案1

基本上,您可以使用 XAMPP 执行任何使用其他 Apache 安装可以执行的操作。首先要知道的是,默认 XAMPP 安装的 Apache 配置文件位于 c:\xampp\apache\conf 和 C:\xampp\apache\conf\extra

正如您所提到的,默认的 webroot 是 c:\xampp\htdocs,如上述配置文件所定义,phpMyAdmin 目录只不过是一个标准的 Apache 别名,它使 /phpMyAdmin 在“c:\xampp\phpmyadmin\”中查找其文件。

您有多种选择,具体取决于您所说的公共和私有(我假设您可能希望用密码保护私有文件)。您可以使用别名,甚至可以设置一个全新的虚拟主机/服务器,我将在下面发布一些文档链接和一个非常基本的示例。

完成您想要的操作的最简单方法是在 c:\xampp 根目录中创建一个名为“private” - “c:\xampp\private\”的文件夹,并使用一行编辑 c:\xampp\apache\conf\extra\httpd-xampp.conf 文件:

Alias /private "/xampp/private"

如果您想要使用密码保护它,或者给它任何其他特殊指令,您可以在该行后面跟着一个目录块:

<Directory "/xampp/private">
    AuthType Basic
    AuthName "Restricted Files"
    AuthUserFile /xampp/htpasswd-private
    Require user foo
</Directory>

每当您对这些文件进行更改时,都需要重新启动 Apache 才能使它们生效。

答案2

感谢 WerkkreW,我为我的私人文件夹添加了一个别名,如下所示。我现在可以从 /localhost/private/myapp 访问我的应用程序。

Alias /private "C:/xampp/private/"
<Directory "C:/xampp/private/">
    Order allow,deny
    Allow from all
</Directory>

但是,我仍然需要将我的应用程序 /localhost/private/myapp 作为 /localhost/myapp 运行。因此,我尝试了以下别名:

Alias / "C:/xampp/private/"
<Directory "C:/xampp/private/">
    Order allow,deny
    Allow from all
</Directory>

我认为这是错误的用法,我无法访问 C:\xampp\htdocs 中的应用程序

相关内容