|
授權(quán)方式:署名,非商業(yè)用途,保持一致,轉(zhuǎn)載時(shí)請務(wù)必以超鏈接(http://www./blog/post/61)的形式標(biāo)明文章原始出處和作者信息及本聲明。
我的Apache上同時(shí)掛有SVN和rewrite module,SVN配置都沒有問題,通過HTTP訪問正常,但通過Toroisesvn客戶端訪問總是不行,錯誤信息如下: Error: PROPFIND request failed on ‘/svn/svntest’ 經(jīng)查,如果我去掉Apache的httpd.conf中的這兩句,就可以正常使用了: RewriteRule (.+)\/(\w+[^\/])$ $1/$2/ [R] 這兩句RewriteRule是為了添加URL地址末尾的斜杠的,看來這兩句對SVN的調(diào)用起了影響,原因大概是訪問SVN的地址,比如是“/svn/svntest”時(shí),RewriteRule會將其改寫為“/svn/svntest/”,多了一個斜杠,然后SVN就不知所綜了。 原來Apache 2.0的mod-dir已經(jīng)有了自動添加斜杠的功能: A "trailing slash" redirect is issued when the server 不用勞煩RewriteRule了。 話又說回來,不管是mod_dir也好,RewriteRule也好,使用反向代理(ProxyPass)的時(shí)候還是有些問題,比如說,domain1.com/d2地址貝配置為轉(zhuǎn)向到domain2.com,那么訪問地址domain1.com/d2/subdir時(shí),如果subdir時(shí)確實(shí)存在的,而輸入地址的時(shí)候最后又沒有輸入斜杠/,那么你將會得到一個404錯誤頁面,并且地址欄顯示的是domain1.com/subdir,這個問題遇到很久了,一直不知道如何解決。通過端口進(jìn)行反向代理好像同樣存在這樣的問題。 所以,使用反向代理時(shí),一是老老實(shí)實(shí)的加上斜杠,二就是最好盡量采用如下的反向代理方式:domain1.com/subdir1定向到domain2.com/subdir2,并且subdir1和subdir2同名,這樣就不會出現(xiàn)上面說到的問題了。 |
|
|