根据域/网址更改Mod RewriteBase

时间:2012-12-18 09:22:49

标签: git apache .htaccess mod-rewrite githooks

我想根据域名更改RewriteBase。在一个完美的世界里,我会在.htaccess本身做到这一点。但我的理解是,这是不可能的。

问题是我在我们的开发服务器上有一个本地git repo和一个repo。 dev服务器上的repo位于子文件夹(example.com/mysite)中,而localy只是example.lo。

所以在服务器上我必须将RewriteBase设置为/ mysite

我的问题是,解决这个问题的最佳方法是什么?我们可以使用git hooks在裸服务器repo上触发bash脚本。

当repo是--bare并使用这个帖子接收挂钩时,是否可以将.htaccess添加到.gitignore中?:

#!/bin/sh
GIT_WORK_TREE=/Users/Admin/Sites/mysite git checkout -f

如果我不清楚任何事情,请发表评论。感谢所有帮助!

1 个答案:

答案 0 :(得分:1)

这种post-receive挂钩可以正常工作,但最终可能会出现Not a git repository '.'”错误消息。

请参阅“Git checkout in post-receive hook: “Not a git repository '.'”:您也应设置GIT_DIR,而不仅仅是GIT_WORK_TREE

  

问题是,当.htaccess文件中的.htaccess

时,它是否会在检出文件时删除.gitignore文件

不,你不会删除它。

如果您仍需要更新其值(取决于域名)并使用git对其进行版本化,请使用内容过滤器:请参阅“What's the easiest way to deal with project configuration files?”。