是否可以配置xampp提供 htdocs
目录之外的文件?
例如,假设我有一个位于以下位置的文件:
C:\projects\transitCalculator\trunk\TransitCalculator.php
还有我的xampp文件通常来自:
C:\xampp\htdocs\
(因为这是默认配置)有什么方法可以让 Apache 识别并提供我的 TransitCalculator.php
文件而不将其移动到 htdocs
下?最好我希望 Apache 提供/访问项目目录的全部内容,并且我不想将项目目录移动到 htdocs
下。
编辑:编辑以将 Apache 添加到问题标题中,以使 Q/A 更“可搜索”
最佳答案
好的,根据 pix0r的,Sparks ' 和 Dave的答案看起来有三种方法可以做到这一点:
Virtual Hosts
- 打开 C:\xampp\apache\conf\extra\httpd-vhosts.conf。
- 取消注释 ~ 第 19 行 (
NameVirtualHost *:80
)。 添加您的虚拟主机(~第 36 行):
<VirtualHost *:80> DocumentRoot C:\Projects\transitCalculator\trunk ServerName transitcalculator.localhost <Directory C:\Projects\transitCalculator\trunk> Order allow,deny Allow from all </Directory> </VirtualHost>
打开您的主机文件 (C:\Windows\System32\drivers\etc\hosts)。
添加
127.0.0.1 transitcalculator.localhost #transitCalculator
到文件的末尾(在 Spybot - Search & Destroy stuff if you have installed)之前。
- 保存(您可能必须将其保存到桌面,更改旧主机文件的权限(右键单击 > 属性),然后将新文件复制到旧文件的目录中(或重命名旧文件),如果您正在使用 Vista 并遇到问题)。
- 重启 Apache。
现在您可以通过浏览到 http://transitcalculator.localhost/ 来访问该目录。 .
Make an Alias
从您的
http.conf
的第 200 行开始文件,复制<Directory "C:/xampp/htdocs">
之间的所有内容和</Directory>
(~第 232 行)并将其粘贴到下面紧跟C:/xampp/htdocs
替换为您想要的目录(在本例中为C:/Projects
),为您的服务器提供新目录的正确权限。找到
<IfModule alias_module></IfModule>
部分(~第 300 行)并添加Alias /transitCalculator "C:/Projects/transitCalculator/trunk"
Alias
下方的(或任何与您的愿望相关的内容)注释 block ,在模块标签内。
Change your document root
在 C:\xampp\apache\conf\httpd.conf 中编辑 ~line 176;更改
DocumentRoot "C:/xampp/htdocs"
至#DocumentRoot "C:/Projects"
(或任何你想要的)。编辑 ~line 203 以匹配您的新位置(在本例中为
C:/Projects
)。
注意事项:
- 您必须使用正斜杠“/”而不是反斜杠“\”。
- 不要在末尾包含结尾的“/”。
- 重启你的服务器。
关于php - 在 htdocs 文件夹之外制作 XAMPP/Apache 服务文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1408/