使 XAMPP / Apache 在 htdocs 文件夹之外提供文件 [已关闭]

2022-08-30 06:02:31

是否可以将 xampp 配置为在目录之外提供文件?htdocs

例如,假设我有一个文件,如下所示:

C:\projects\transitCalculator\trunk\TransitCalculator.php

我的xampp文件通常来自:

C:\xampp\htdocs\

(因为这是默认配置)有没有办法让Apache识别并提供我的文件,而无需移动它?最好我希望Apache提供/访问项目目录的全部内容,并且我不想将项目目录移动到.TransitCalculator.phphtdocshtdocs

编辑:编辑以将Apache添加到问题标题中,以使Q / A更“可搜索”


答案 1

好吧,根据pix0rSparksDave的答案,看起来有三种方法可以做到这一点:


虚拟主机

  1. Open C:\xampp\apache\conf\extra\httpd-vhosts.conf.
  2. 取消注释 ~第 19 行 ()。NameVirtualHost *:80
  3. 添加虚拟主机(~第 36 行):

    <VirtualHost *:80>
        DocumentRoot C:\Projects\transitCalculator\trunk
        ServerName transitcalculator.localhost
        <Directory C:\Projects\transitCalculator\trunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  4. 打开主机文件(C:\Windows\System32\drivers\etc\hosts)。

  5. 127.0.0.1 transitcalculator.localhost #transitCalculator
    

    到文件末尾(在Spybot之前 - 搜索和销毁东西,如果你已经安装了)。

  6. 保存(如果您使用的是Vista并遇到问题,则可能必须将其保存到桌面,更改旧主机文件的权限(右键单击>属性),然后将新文件复制到旧文件之上的目录中(或重命名旧文件)。
  7. 重新启动 Apache。

现在,您可以通过浏览到 http://transitcalculator.localhost/ 来访问该目录。


制作别名

  1. 从文件的第 ~200 行开始,复制 和 (~row 232) 之间的所有内容,然后将其粘贴到下面,替换为所需的目录(在本例中),以便为服务器提供新目录的正确权限。http.conf<Directory "C:/xampp/htdocs"></Directory>C:/xampp/htdocsC:/Projects

  2. 找到该部分(~行 300)并添加<IfModule alias_module></IfModule>

    Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
    

    (或任何与你的愿望相关的内容)在注释块下方,模块标签内。Alias


更改文档根目录

  1. 在 C:\xampp\apache\conf\httpd.conf 中编辑 ~第 176 行;更改为(或您想要的任何内容)。DocumentRoot "C:/xampp/htdocs"#DocumentRoot "C:/Projects"

  2. 编辑 ~第 203 行以匹配您的新位置(在本例中)。C:/Projects


笔记:

  • 您必须使用正斜杠“/”而不是反斜杠“\”。
  • 不要在末尾包含尾随的“/”。
  • 重新启动服务器

答案 2

您可以通过在 XAMPP\apache\conf\httpd.conf 中编辑 DocumentRoot 设置来重新定位它。

它目前应该是:

C:/xampp/htdocs

将其更改为:

C:/项目/公交计算器/主干


推荐