Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess与同一规则冲突_.htaccess - Fatal编程技术网

.htaccess与同一规则冲突

.htaccess与同一规则冲突,.htaccess,.htaccess,我的规则如下: 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_-]+)$
匹配,因此第二条规则永远不会应用,因为第一条规则始终匹配。没有办法解决这个问题,因为没有办法区分什么应该是
doctor\u viewprofile.php
和什么应该是
blog\u mgt\u full.php
。您可以尝试添加前缀,使您的URL看起来像

http://www.domain.com/doctor/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]

谢谢Jon Link的回答。我知道这样做是可能的。但是我想要的是没有/博客或/医生的方式。有什么解决方案吗?@user1803240除非有办法区分这两个,否则没有其他解决方案。谢谢Jon Link的回答。有没有办法把2区分开?
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]