将XAMPP / Apache设置为在htdocs文件夹之外提供文件 [已关闭]

23 浏览
0 Comments

将XAMPP / Apache设置为在htdocs文件夹之外提供文件 [已关闭]

是否可以配置xampp来服务于htdocs目录之外的文件?

比如说,我有一个文件的位置如下:

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

而我的xampp文件通常是从以下位置提供服务的:

C:\xampp\htdocs\

(因为这是默认配置)是否有一种方法可以让Apache识别并提供我的TransitCalculator.php文件,而不必将其移动到htdocs下面?最好是让Apache能够服务于/访问项目目录的全部内容,并且我不想将项目目录移动到htdocs下面。

编辑:编辑标题以添加Apache,以便Q/A更容易“搜索”。

0
0 Comments

问题:如何让XAMPP / Apache在htdocs文件夹之外提供文件?

原因:通过配置VirtualHost可以实现这一目的,并且可以更好地满足需求,因为可以在不需要子目录的情况下托管多个项目。具体步骤如下:

1. 在httpd.conf文件中添加以下内容(或者在httpd.conf相对路径下的extra\httpd-vhosts.conf中添加,注意反斜杠“\”可能导致此方法无效):

NameVirtualHost *:80

# ...

DocumentRoot C:\projects\transitCalculator\trunk\

ServerName transitcalculator.localhost

Order allow,deny

Allow from all

2. 在HOSTS文件中添加以下内容(通常位于c:\windows\system32\drivers\etc\hosts):

# localhost entries
127.0.0.1 localhost transitcalculator.localhost

3. 重新启动XAMPP,然后就可以通过访问http://transitcalculator.localhost/来直接访问该目录。

解决方法:如果尝试使用此方法时出现“Access Forbidden”警告,这意味着Apache用户没有对该驱动器的读取权限。

可以在标签中将Order allow,denyAllow from all替换为Require all granted

参考链接:http://stackoverflow.com/questions/9110179

0
0 Comments

问题的原因:用户想要让XAMPP/Apache在htdocs文件夹以外的位置提供文件服务。

解决方法:

1. 使用虚拟主机(Virtual Hosts):

- 打开C:\xampp\apache\conf\extra\httpd-vhosts.conf文件。

- 取消注释第19行(NameVirtualHost *:80)。

- 在第36行附近添加以下代码:

DocumentRoot C:\Projects\transitCalculator\trunk

ServerName transitcalculator.localhost

Order allow,deny

Allow from all

- 打开hosts文件(C:\Windows\System32\drivers\etc\hosts)。

- 在文件末尾添加以下代码:

127.0.0.1 transitcalculator.localhost #transitCalculator

- 保存并重启Apache。

现在可以通过浏览器访问该目录,网址为http://transitcalculator.localhost/。

2. 创建别名(Make an Alias):

- 在http.conf文件的第200行左右,复制<Directory "C:/xampp/htdocs"></Directory>之间的所有内容(大约232行),将其粘贴到下面一行,并将C:/xampp/htdocs替换为所需的目录(在本例中为C:/Projects),以便为新目录授予服务器正确的权限。

- 找到<IfModule alias_module></IfModule>部分(大约第300行),在模块标签内的Alias注释块下面添加以下代码:

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

3. 更改文档根目录(Change your document root):

- 编辑C:\xampp\apache\conf\httpd.conf文件的第176行,将DocumentRoot "C:/xampp/htdocs"改为#DocumentRoot "C:/Projects"(或其他所需的目录)。

- 编辑第203行,以匹配新位置(在本例中为C:/Projects)。

注意事项:

- 必须使用正斜杠“/”而不是反斜杠“\”。

- 不要在末尾包含斜杠“/”。

- 重启服务器。

以上是解决问题的方法,其中有一些用户的补充说明和一些其他用户的提示和问题。

0
0 Comments

问题:如何让XAMPP / Apache在htdocs文件夹之外提供文件服务?

XAMPP / Apache默认情况下将文件服务提供在htdocs文件夹中。但是有时候我们希望将文件服务提供在htdocs文件夹之外的其他文件夹中。下面是解决这个问题的原因和方法。

原因:

XAMPP / Apache默认情况下将文件服务提供在htdocs文件夹中,但是有时候我们希望将文件服务提供在其他文件夹中,可能是因为我们的项目文件不在htdocs文件夹中。

解决方法:

1. 打开XAMPP安装目录下的apache\conf\httpd.conf文件。

2. 找到并编辑DocumentRoot设置。默认情况下,设置为C:/xampp/htdocs。

3. 将DocumentRoot设置为你希望提供文件服务的文件夹路径,例如C:/projects/transitCalculator/trunk。

4. 注意要同时编辑两行要求DocumentRoot的地方。如果只修改顶部的一行,可能会出现读取权限错误等问题。

5. 保存并关闭httpd.conf文件。

这样,XAMPP / Apache将文件服务提供在指定的文件夹中,而不是htdocs文件夹。

以上方法适用于Windows操作系统。对于Mac操作系统的XAMPP,同样适用。

现在,可以通过访问指定URL来访问index页面。

0