2016-05-06 8 views
1

私は同期に私の連絡先やカレンダーを保つためにバイカル湖のCalDAVとCardDAVのサーバーを使用しています。それは私のクライアントのすべてとかなりうまく動作します。 iPhoneとMacのサポートのために、私は/.well-known/のリダイレクトルールを私のApache vHostファイルに入れます。のApacheバイカルサーバのRewriteRule

連絡先の同期には、次のURLでの作業です:私は他のユーザーのために、このURLを短くしたいと思い

myurl/html/card.php/principals/(username) 

。私はApache上でmod_rewriteとすることができたと思ったが、うまくいかなかった。

私はそれは本当にシンプルに見えますが、私は主に再帰的なリダイレクトになってしまった

myurl/html/card.php/principals/(username) 

myurl/(username) 

を書き換えたいです。私は書換え規則に従いました

RewriteRule ^(.*) /html/card.php/principals/$1 

私は助けていただければ幸いです。

答えて

1

はい、書き換えループエラーです。

(.*)宛先URIを含む任意のURIと一致し、無限ループのエラーの原因自体に戻ってそれを書き換えます。このエラーを回避するために

、我々はに書き換えされているパスを除外する必要があります。

RewriteCond %{REQUEST_URI} !^/html/card.php/principal/ 
RewriteRule (.*) /html/card.php/principal/$1 

今のルールが条件付きである、それはそれが/html/card.php/principal/fooを書き換えませんに/html/card.php/principal/foo/fooのを書き換えます/html/card.php/principal/foo

+1

それは働いた!ご助力ありがとうございます。私はRewriteRuleに関する多くのドキュメントを読んだが、そのRewriteCondの使い方を忘れてしまった。本当に感謝しています。 –

関連する問題