根相对路径在XAMPP虚拟主机上不起作用

时间:2019-05-28 21:05:44

标签: xampp root virtualhost relative-path

在XAMPP的本地主机中开发网站时,我希望能够使用root-relative-paths(例如:/incl/file.php),以便在将其上传到Web服务器时,其工作方式相同。为了做到这一点,我在XAMPP中设置了一个虚拟主机。当我使用绝对路径(例如C:/xampp/htdocs/incl/file.php)或不带斜杠的pahts(incl / file.php)访问虚拟主机时,它运行良好,但是相对于根目录路径(/ incl /file.php)根本不起作用。

我尝试了许多在这里以及在许多网站上找到的虚拟主机设置的不同配置,并卸载和安装了XAMPP。我也尝试使用“ \”代替“ /”,但是结果是一样的。我有安装了最新XAMPP版本的Windows 10 Pro。

这是我当前正在使用的虚拟主机设置。

在主机文件中:

# localhost name resolution is handled within DNS itself.
    127.0.0.1       localhost
#   ::1             localhost
    127.0.0.1       atriero.localhost

在httpf-vhosts.conf文件中:

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
    <Directory  "C:/xampp/htdocs">
       Require all granted
    </Directory>
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "C:/xampp/subdomains/site"
    ServerName atriero.localhost
    <Directory  "C:/xampp/subdomains/site">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

作为无法使用的根相对路径的示例,在我的索引页中

require "/header.php";

位于“站点”文件夹中,与index.php所在的位置相同。如果我输入不带斜杠的“ header.php”,则效果很好。

header.php页面中还有以下行

include_once '/includes/dbh.inc.php';

在发生相同问题的地方,dbh.inc.php位于站点文件夹内的includes文件夹中。如果我删除斜杠,则链接可以正常工作,但以根相对路径的方式写入,则无法正常工作。

我希望可以在XAMPP中使用Virtual Host运行root-relative-paths,我认为这确实对网站的开发有帮助,据我所知,这是最好的方法。

如果由于某种原因无法在Virtual Host中使用root-relative-paths,并且如果我必须在每个路径前都将网站上传到服务器且不带“ \”,那么以任何方式对您都是有害的我的网站正常工作吗?

谢谢。

0 个答案:

没有答案