0

htaccess で変数を一致させたい... ここに私の htaccess ファイルがあります:

RewriteEngine On
RewriteRule ^(.*)/(.*)/(.*)/([^/]*).mp4$ str.php?vid=$1&auth=$2&hash=$3
RewriteCond ^(.*)/(.*)/(.*)/([^/]*).mp4?start=(.*)$ str.php?vid=$1&auth=$2&hash=$3&start=$4
RewriteRule ^(.*)/(.*)/(.*)/([^/]*).flv$ str.php?vid=$1&auth=$2&hash=$3
RewriteCond ^(.*)/(.*)/(.*)/([^/]*).flv?start=(.*)$ str.php?vid=$1&auth=$2&hash=$3&start=$4

すべて正常に動作しますが、変数に問題がありstartます。htaccess が変数と一致しませんstart。誰でも私を助けることができます

4

2 に答える 2

0

あなたが持っているものは決して一致しないので、ルールのに条件を書き換える理由がわかりません。%{QUERY_STRING}さらに、変数と照合する必要があります。

RewriteCond %{QUERY_STRING} ^(?:start=([^&]+)|)
RewriteRule ^(.*)/(.*)/(.*)/([^/]*).mp4$ str.php?vid=$1&auth=$2&hash=$3&start=%1

RewriteCond %{QUERY_STRING} ^(?:start=([^&]+)|)
RewriteRule ^(.*)/(.*)/(.*)/([^/]*).flv$ str.php?vid=$1&auth=$2&hash=$3&start=%1

正規表現には4 つのキャプチャ グループがあり、3 つ、(.*)次に 1 つ([^/]*)あり、最初の 3 つだけを使用し、4 つ目を無視していることに注意してください。しかし、それがうまくいっていると言うなら、それはあなたが望んでいることだと思います。

于 2013-07-13T20:11:16.950 に答える