0

mod_rewriteで問題が発生し、同じエラー404が次のようにスローされます。

 RewriteRule ^music.mp3?id=(.*)$ music.php?id= [L]

URL/music.mp3?id=1と実際のURL/music.php?id=1が必要です

何か案が??

RewriteRuleのパスで何かが誤解されていると思います

4

2 に答える 2

2

のクエリ文字列( URLのの後のすべて)と照合することはできませんRewriteRule。しかし、とにかく実際には一致していません。ターゲットURIに追加する必要があるように見えるので、次のようにします。

RewriteRule ^music\.mp3$ music.php [L]

十分に良いはずです。クエリ文字列パラメータ(など?id=1)は、最後に自動的に追加されます。

于 2012-08-07T01:32:49.257 に答える
0

あなたの表現(エンジンルール)で、あなたが言いたいのは:

「URLが。で始まる場合は、music.mp3?id=の後にあるものをすべて取得し=、URLをに変更してmusic.php?id=、その部分を後に配置しますid=。」

正規表現では、.文字には特別な意味があります。「ドット文字」と言いたいが、特別な意味を与えたくない場合は、それをエスケープする必要がありますが、次\のように後ろに置きます。

^music\.mp3?id=(.*)$

@Jon Linは、クエリ文字列に関する他の部分をすでに提供しています。

于 2012-08-07T01:35:45.033 に答える