我在我的项目中使用 Git 并在本地虚拟机中工作。我遇到的问题是,有时远程 .htaccess 文件包含一个 RewriteRule ,它会阻止它在不同的环境中正常工作。
由于在 Git 中跟踪更改,我不能简单地更改本地机器上的 .htaccess,而不必忽略 Git 中更改的文件状态。
我在这里读到了一些setEnvIf 解决方案,但我不能真正将手指放在它周围供我自己使用。
Fe 如果我有一个 .htaccess 文件:
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
我想能够说:
<if not on local machine>
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
</if>
或者甚至可以做类似的事情
If host = dev
...
if host = acc
...
通过设置 dev 主机名总是以“.dev”结尾并且 acc 总是像“acc.*”
我想有一些方法尽可能一般地修复它,这样就不需要为每个项目更改行。.htaccess 文件应该在版本控制中,并且应该在每个环境中运行而无需更改它。在这个例子中,它是一个重写,但也可以是错误文档或密码保护等。
希望我清楚地解释了我的问题。谢谢!
丹尼斯