0

私のルールは以下です。

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ doctor_viewprofile.php?hid2=$1 [L,NC]
RewriteRule ^([a-zA-Z0-9_-]+)$ blog_mgt_full.php?a=$1&cuserid=$2&cusertype=$3 [L,NC]

2 番目のルールは最初のルールと競合し、最初のルールまたはページにリダイレクトされます。なぜこれが起こっているのかわかりません。

4

1 に答える 1

0

なぜこれが起こっているのかわかりません。

これは、両方のルールがまったく同じパターンに一致するために発生します。どちらも に対して一致する^([a-zA-Z0-9_-]+)$ため、最初のルールは常に一致するため、2 番目のルールは適用されません。doctor_viewprofile.phpであるべきものと であるべきものを区別する方法がないため、これを回避する方法はありませんblog_mgt_full.php。URLが次のようになるように、プレフィックスを追加してみてください

http://www.domain.com/doctor/foo

http://www.domain.com/blog/foo

したがって、ルールは次のように変更できます。

RewriteRule ^doctor/([a-zA-Z0-9_-]+)$ doctor_viewprofile.php?hid2=$1 [L,NC]
RewriteRule ^blog/([a-zA-Z0-9_-]+)$ blog_mgt_full.php?a=$1&cuserid=$2&cusertype=$3 [L,NC]
于 2012-11-29T22:24:45.023 に答える