2010-12-29 13 views
0

に を末尾にスラッシュを追加します。以下のような: http://www.mysite.com/concorso/2 (最後はスラッシュを指定しない)のようなURLでhttp://www.mysite.com/concorso/2/ なく私はこのシンプルなラインを持っている...私はmod_rewriteを持つ非常に新しいですし、私は自分のルールを取得しようとしているのmod_rewriteのルール

この単純なルールの「特大」..私は多分、これは非常に一般的な問題であることを知っているが、私はオンラインで見つけるすべての例があります

したがって、後続のスラッシュを自動的に追加するにはどうすればよいですか? ...

RewriteRule ^contatti/$ contatti/?iModule=10 [L] 

自動的にスラッシュを追加し、私も試してみました::のようなルールがあることに注意してください(最後のスラッシュはオプション)

RewriteRule ^concorso/(.*)/?$ concorso/?iModule=13&iData=$1 [L] 

が、私は、Apacheのエラーを取得:

[Wed Dec 29 10:02:41 2010] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 

127.0.0.1 - - [29/Dec/2010:10:02:41 +0100] "GET /concorso/2/ HTTP/1.1" 500 535

ご協力いただきありがとうございます。

+1

ので、あなたにエラーがありますURLを書き換えたときにループに入り、書き換えられたURLもルールに一致します。 – Simon

答えて

1

あなたのパターンがあなたが書いているものと一致しないように、パターンが受け入れる文字を制限してみてください。より一般的に

RewriteRule ^concorso/([0-9]+)/?$ concorso/?iModule=13&iData=$1 [L] 

、これが唯一のクエリ文字列なしのURLを照合することによって動作します:たとえば、あなただけの数字は###されるURL /concorso/###を一致させたい場合は

RewriteRule ^concorso/([^?]*)/?$ concorso/?iModule=13&iData=$1 [L] 
+0

ありがとうcdhowie、最初の完全に動作し、私はまたいくつかのテキストを含めるために、これでルールを強化: 13&iData = $ 2 \t [NC、L] 2番目の例でもエラーが表示されます – Ivan

関連する問題