2012-12-18 68 views
1

我想根據域更改RewriteBase。在一個完美的世界中,我會在.htaccess中做到這一點。但我的理解是,這是不可能的。根據域/ url更改Mod RewriteBase

問題是我有我們的開發服務器上的本地git回購和回購。開發服務器上的回購是在一個子文件夾(example.com/mysite)內,而本地只是example.lo。

所以我必須設置RewriteBase到服務器上/ mysite的

我的問題則是,什麼是解決這個最好sollution?我們可以使用git掛鉤在裸露的服務器倉庫中觸發bash腳本。

將它的工作給的.htaccess添加到的.gitignore時回購是--bare並使用這個職位收到鉤?:在評論

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

下降,如果im不清任何東西。所有幫助表示讚賞!

回答

1

這種後接收掛鉤可以工作,但最終可能會出現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?」。

+0

掛鉤的作品。我知道。問題是,當.htaccess文件檢出時,是否會刪除.htaccess文件,何時.htaccess文件位於.gitignore文件中?有沒有更好的方法來做到這一點? 這個問題的一個問題是,你永遠不能編輯你的.htaccess文件,並通過git在服務器上更新它。 – Spoeken

+1

@MathiasMadsenStav我編輯了我的答案來解決你的問題。 – VonC