プロが教えるわが家の防犯対策術!

お世話になります。

Subvirsionサーバ(1.7.5)を構築中です。
クライアントとしてTortoiseSVN(1.7)を使っております。

リポジトリブラウザからURLに、
http://myhost/svn/test/
を指定し認証ログインを行った後、
「Ridicect cycle detected for URL 'http://myhost/svn/test'
というメッセージが出て、リポジトリを表示できません。


リダイレクトが循環している、というような意味のメッセージだと思うのですが、
以下【httpd.cnfの内容】を見ても、
循環が発生しているように見えず、お手上げです。

ブラウザ(IE)から同じURLでアクセスすると、
設定どおりにリダイレクトされ、リポジトリが表示されます。


【httpd.cnfの内容】

Alias /svn "C:\Apache2.2.22/htdocs/Repositories"
<Location /svn/>
DAV svn

SVNListParentPath on
SVNPathAuthz off
SVNParentPath "C:/Apache2.2.22/htdocs/Repositories/"

SVNPathAuthz short_circuit
SVNCacheTextDeltas off
SVNCacheFullTexts off

AuthzSVNAccessFile "C:/Apache2.2.22/htdocs/Repositories/authz"
AuthName "Subversion Server "
AuthType Basic
AuthBasicProvider file
AuthUserFile "C:/Apache2.2.22/conf/.htpasswd"
Require valid-user

ExpiresActive on
ExpiresDefault access
</Location>



Apacheのログには、以下の4つが出ていました。

"OPTIONS / HTTP/1.1" 200 -
"OPTIONS /svn HTTP/1.1" 301 233
"PROPFIND /svn HTTP/1.1" 301 233
"OPTIONS /svn HTTP/1.1" 301 233
"PROPFIND /svn HTTP/1.1" 301 233

以上、よろしくお願いします。

A 回答 (1件)

サーバ上でリポジトリがあるパスはどこになりますか?


svnadminでリポジトリを作成した場所です。

>Alias /svn "C:\Apache2.2.22/htdocs/Repositories"
>SVNParentPath "C:/Apache2.2.22/htdocs/Repositories/"

ということは、
http://myhost/Repositories/test/
としたら何が見えますかね?
confディレクトリやdbディレクトリとかformatって名前のファイルとかあったりしませんか?

http://myhost/Repositories/test/conf/svnserve.conf
とかしたらどうなりますか?


Subversionのリポジトリは上記のようにアクセスできる場所(DocumentRootの下)に置いてはダメです。

この回答への補足

http://myhost/Repositories/test/
とすると、

test - Revision 0: /
..

と表示されます。
今はリビジョン0なので何も出ないのですが、
マイグレーション元からLOADするとリビジョンが上がって、
ファイル名が表示されます。

http://myhost/Repositories/test/
http://myhost/Repositories/test/conf/svnserve.conf
としたところ、
いずれも、「Web ページが見つかりません」と表示されました。

>Subversionのリポジトリは上記のようにアクセスできる場所
>(DocumentRootの下)に置いてはダメです。
ご指摘ありがとうございます。

ただ、これが直接の原因ではないようで、
実は最初は外に置いてあったのですが、
「Redirect cycle detected」が出てしまったので、
試行錯誤の結果、現在の位置にあります。
でも、外に出すようにします。

補足日時:2012/12/19 16:09
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/12/19 15:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!