使XAMPP / Apache服务于htdocs之外的文件

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

例如,说我有一个文件位于如下:

C:projectstransitCalculatortrunkTransitCalculator.php

并且我的xampp文件通常从以下地方提供:

C:xampphtdocs

(因为这是默认配置)有什么方法可以让Apache识别并提供我的TransitCalculator.php文件,而无需在htdocs下移动它? 最好我希望Apache能够访问/访问项目目录的全部内容,并且我不想将项目目录移动到htdocs下。

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


好吧,根据pix0r's,Sparks和Dave的回答,看起来有三种方法可以做到这一点:


虚拟主机

  • 打开C: xampp apache conf extra httpd-vhosts.conf。
  • 取消注释第19行( NameVirtualHost *:80 )。
  • 添加您的虚拟主机(〜第36行):

    <VirtualHost *:80>
        DocumentRoot C:ProjectstransitCalculatortrunk
        ServerName transitcalculator.localhost
        <Directory C:ProjectstransitCalculatortrunk>
            Order allow,deny
            Allow from all
        </Directory>
    </VirtualHost>
    
  • 打开您的主机文件(C: Windows System32 drivers etc hosts)。

  • 127.0.0.1 transitcalculator.localhost #transitCalculator
    

    到文件末尾(在Spybot - Search&Destroy之前,如果你已经安装的话)。

  • 保存(您可能必须将其保存到桌面,更改旧主机文件的权限(右键单击>属性),并将新文件复制到旧文件夹的目录中(或重命名旧文件),如果您正在使用Vista和麻烦)。
  • 重新启动Apache。
  • 现在,您可以通过浏览到http://transitcalculator.localhost/来访问该目录。


    制作别名

  • http.conf文件的第200行开始,将<Directory "C:/xampp/htdocs"></Directory>http.conf行)之间的所有内容复制并粘贴到C:/xampp/htdocs所需的目录(在本例中为C:/Projects )为您的服务器提供新目录的正确权限。

  • 找到<IfModule alias_module></IfModule>部分(〜第300行)并添加

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

    (或者与您的期望相关的任何内容)在模块标签内部的Alias注释块下。


  • 更改您的文档根目录

  • 在C: xampp apache conf httpd.conf中编辑〜第176行; 将DocumentRoot "C:/xampp/htdocs"更改为#DocumentRoot "C:/Projects" (或任何你想要的)。

  • 编辑〜第203行以匹配您的新位置(本例中为C:/Projects )。


  • 笔记:

  • 您必须使用正斜杠“/”而不是反斜杠“”。
  • 最后不要包含尾部的“/”。
  • 重启你的服务器。

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

    它目前应该是:

    C:/ XAMPP / htdocs中

    将其更改为:

    C:/项目/ transitCalculator /行李箱


    VirtualHost也可以为此工作,并且可能对您更好,因为您可以托管多个项目而不需要子目录。 这是你如何做到的:

    httpd.conf(或者相对于httpd.conf的 httpd-vhosts.conf文件中,后缀斜杠“”可能导致它不起作用):

    NameVirtualHost *:80
    # ...
    <VirtualHost *:80>  
        DocumentRoot C:projectstransitCalculatortrunk
        ServerName transitcalculator.localhost
        <Directory C:projectstransitCalculatortrunk>  
            Order allow,deny  
            Allow from all  
        </Directory>
    </VirtualHost> 
    

    HOSTS文件(通常为c: windows system32 drivers etc hosts):

    # localhost entries
    127.0.0.1 localhost transitcalculator.localhost
    

    现在重新启动XAMPP,你应该可以访问http://transitcalculator.localhost/,它会直接映射到该目录。

    如果您尝试复制生产环境,而您正在开发一个位于域名根目录的网站,这可能会有所帮助。 例如,您可以指向带有绝对路径的文件,该文件将传递给服务器:

    <img src="/images/logo.png" alt="My Logo" />
    

    而在使用别名或子目录的环境中,您需要跟踪“images”目录相对于当前文件的确切位置。

    链接地址: http://www.djcxy.com/p/41287.html

    上一篇: Make XAMPP/Apache serve file outside of htdocs

    下一篇: How can I have Packed decimal and normal text in a single file?