我想知道是否有人能够很好地处理为本地,测试和生产环境提供不同URL基础的情况。
我尝试使用相对地址,但有时这是不可能的。
当应用程序的主页改变时,如何阻止事情发生:
本地:
http://localhost:8888/mysite/index.php (URL base is /mysite/)
测试:
http://mytestingsite.com/testing/mysite/index.php (URL base is/testing/mysite/)
生产:
http://mysite.com/index.php (URL base is /)
答案 0 :(得分:1)
使用$_SERVER['SERVER_NAME']
和switch
。
如果它与给定主机匹配,请定义包含要使用的URL基础的变量。在header.php中发生这种情况,或者总是导入一些settings.php,并在必要时调用此变量!
或者,在每个具有预设值的环境中都有一个单独的settings.php文件,但这需要在每个代码库中进行少量更改。
答案 1 :(得分:0)
您应该使用网络服务器中的虚拟主机始终将您的基本网址设为/。请参阅网络服务器的文档,了解如何执行此操作。
另一种解决方案是对您的网站进行编程,以便将其保存在任何目录中。这可能包括在您的index.php中计算所有与$ baseurl相关的链接。但是我强烈推荐第一个解决方案。