我有在生产服务器上运行的代码的副本,并且我将运行xampp的本地计算机用作开发服务器。我有几个积极开发的网站,所以我不得不使用http://localhost/sitename
我所有的URL都相对于域(/file.php)。它们在prod服务器上可以正常工作,但是在本地服务器上,它们都指向localhost,当我想使它们相对于它们所在的站点文件夹都可以工作时。除了我现在可以做的以外,我还能做些什么,这是:
if($_SERVER['SERVER_NAME'] == "localhost") {
$path_to = "http://" . $_SERVER['SERVER_NAME'] . "/folder";
$path_to_files = $_SERVER['DOCUMENT_ROOT'] . "/folder";
} else {
$path_to = "http://" . $_SERVER['SERVER_NAME'];
$path_to_files = $_SERVER['DOCUMENT_ROOT'];
}
并将
$path_to
放在网站上的每个链接之前。
最佳答案
您应该改用虚拟主机。
因此,在您的主机文件中,添加以下内容:sitename.dev 127.0.0.1
然后在xampp/apache/conf/extra/httpd-vhosts.conf
中:
<VirtualHost *:80>
DocumentRoot "/xampp/htdocs/sitename"
ServerName sitename.dev
</VirtualHost>
重新启动Apache,然后浏览到http://sitename.dev
这应该提供与生产相同的行为。
阅读有关vhosts here的更多信息。
关于php - 开发服务器和生产服务器上只有一个代码-如何处理链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951303/