我的规则如下:
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]
第二条规则与第一条规则冲突并重定向到第一条规则或页面。我不确定为什么会这样。
我的规则如下:
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]
第二条规则与第一条规则冲突并重定向到第一条规则或页面。我不确定为什么会这样。
我不确定为什么会这样。
发生这种情况是因为两个规则都匹配完全相同的模式。两者都与 匹配^([a-zA-Z0-9_-]+)$
,因此第二条规则永远不会被应用,因为第一条规则总是匹配的。没有办法解决这个问题,因为没有办法区分什么应该是 adoctor_viewprofile.php
和什么应该是 a blog_mgt_full.php
。您可以尝试添加前缀,使您的网址看起来像
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]