gpt4 book ai didi

.htaccess 将包含路径设置为 document_root 变量

转载 作者:行者123 更新时间:2023-12-03 08:06:45 25 4
gpt4 key购买 nike

这让我整个上午都快发疯了。

我们正在使用 git 在多台机器上开发一个网站。

在大多数情况下,我们可以将计算机设置为与开发服务器具有相同的设置。不幸的是,团队中有一个人在使用 Windows,它正在造成各种破坏。

我想解决的主要问题是:

在我的 .htaccess 文件中,我使用的是 php_value auto_prepend_file default_roots.php

并且在编写自动前置语句时,我知道您必须使用您正在调用的文件的绝对路径。这就是导致问题的原因,windows 机器上的绝对路径将不同于办公室中任何其他机器上的路径,这些机器都已设置为匹配。

解决我的问题的方法是能够将 .htaccess 中的 include_path 设置为 %{DOCUMENT_ROOT} 然后我可以将文件放在任何机器上的文档根目录中并且文件的绝对路径总是正确的。

不幸的是,这看起来不太可能(或者我希望我的语法有误,有人可以告诉我它是如何完成的)

我考虑过在不同的机器和环境中编写不同的 .htaccess 文件,并使用 gitignore 来阻止它们相互干扰。那是我开始的地方,但是让人们实际使用 gitignore 并阻止他们干扰似乎是一个问题,我不得不多次进入并修复它。在我看来,它也不太优雅。

所以我希望社区中有人能为我提供解决方案,因为我在这里快疯了。

干杯

最佳答案

当开始使用 Git 时,尤其是在团队中,一切都与工作流有关。这里有两种解决方案:

  1. 同意根目录设置:从技术上讲,如果您从 Web 服务器的根目录运行 PHP 应用程序(例如:local.website.dev 或 localhost),您应该不会遇到问题.htaccess 文件将始终位于根目录中。因此没有问题。

  2. 同意工作流程:有一个解决方法,不是动态调用 .htaccess 中的值,而是每次都动态构建文件,并且在您的 Git 工作流程中,改为更新原始文件。

我刚刚为您的问题创建了一个小解决方案,每次您 checkout master 分支时都会生成一个新的 .htaccess。因此,在您的工作流程中,您可以在每次 git pull 后结账。

您需要在 PHP 中维护您的 .htaccess 规则。因此,这是对团队合作的较小挑战。但是问题解决了!

Github: mchebib/git-dyno-htaccess 上查看

或者直接跳进去:

$ git clone https://github.com/mchebib/git-dyno-htaccess.git
希望对你有用。

干杯!

关于.htaccess 将包含路径设置为 document_root 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13230984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com