php - 开发服务器和生产服务器上只有一个代码-如何处理链接?

标签 php path

我有在生产服务器上运行的代码的副本,并且我将运行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/

相关文章:

php - 通过超链接传递数据而不在 URL 中包含数据

php - mysql数据导出到excel时出现错误信息

php - 从下到上逐行搜索字符串

java - Servlet 真实路径

java - "cannot find the main class"使用 subprocess.Popen 调用 java 程序时出错,而同一个调用只能使用 os.system

python - 排序 sys.path : first virtualenv, then/usr

php - 用于为 Swagger-UI 生成 JSON 文件的 Swagger-PHP

php - 速记PDO查询

java - 安装和使用 Emscripten

javascript - Webpack2 错误 - 找不到模块