2009-04-27 20 views
1

私は理由を知らないが、.htaccessファイル内のRewriteRuleの複雑なパターンを使用するたびに、500の内部エラーが発生する。 その全体が私の現在の.htaccessファイルがある:私は「上RewriteEngine」だけで試してみた500 .htaccessでmod_rewriteを使用したときの内部エラー

RewriteEngine on 
RewriteRule ^ups/sections/([A-Za-z]{3})/([A-Za-z0-9_-+\.]+)/?$ /dl.php?loct=sec&sec=$1&file=$2 [R=302] 

とエラーを取得していません。 私は本当にシンプルな何かを試しました: "RewriteRule^ups /?$/xyz [R]"完璧に動作します。 私はSymlinksオプションの有無にかかわらず試しました。 私は、パターンの始めにスラッシュを付けて試しましたが、置換の始めにスラッシュを付けたものと付けなかったものを試しました。

"複雑な"見た目の正規表現を使用するたびに、それはちょうど動作しません。

注:私はこのサーバーを所有していないため、Apacheの設定ファイルを変更することはできません。

ご協力いただければ幸いです。

答えて

1

は、あなたの間違いを説明するために

RewriteRule ^ups/sections/([A-Za-z]{3})/([A-Za-z0-9_+.-]+)/?$ /dl.php?loct=sec&sec=$1&file=$2 [R=302] 
+0

まあ私は愚かだと感じる... –

1

にそれを変更してください:ダッシュ(-)doeasはオールウェイズ2つの文字間の範囲を説明する文字クラス内。文字クラスの先頭または末尾に表示されます。しかし_から+までの範囲は、_(0x5F)の位置が+(0x2B)より高いため無効です。

関連する問題