0
私の.htaccessファイルに次のルールを持っているし、それは私がID($ 3)は3になりますどこのルールを変更する必要が.htaccessの書き換えルールブレーク
RewriteRule ^eat/?([a-zA-Z0-9-]+)?/?([a-zA-Z0-9-]+)?/?([0-9]+)?/?([a-zA-Z0-9-]+)?/?$ /incl/pages/details.php?state=$1&city=$2&ID=$3&name=$4 [NC,L]
正常に動作します文字の英数字(常に大文字)の値で、3桁ではありません。
は、私が試してみたが、私のルールは動作を停止:
RewriteRule ^eat/?([a-zA-Z0-9-]+)?/?([a-zA-Z0-9-]+)?/?([A-Z0-9]+)?/?([a-zA-Z0-9-]+)?/?$ /incl/pages/details.php?state=$1&city=$2&ID=$3&name=$4 [NC,L]
私は何をしないのですか?
問題は、あなたが予想しているよりも長いか短い部分に一致するパターンにつながる可能性のあるすべての '/? 'でしょう。あなたは怠惰になり、可変数の引数にマッチする単一のルールしか使わないように見えます。それは堅牢ではありません。 – arkascha
@arkaschaどういう意味ですか?私は "私を取り除かなければならない?" – santa