[英]url rewrite .htaccess : rewrite 2 pages with same rule
所以,我想在您的帮助下,尝试以这种方式重写2页
www.mydomain.com/page1.php?id=52
至
www.mydomain.com/52/
和另一个page2.php就像这样www.mydomain.com/page2/id
我做了很多研究,发现了这个规则
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ page1.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ users.php?id=$1
但是当我测试此规则时,如果我在网址www.mydomain.com/page2/id
它,它的播放效果很好,但是如果我从网址( www.mydomain.com/id
)中删除page2,则我无法获得ID变量引发php( $_GET
) www.mydomain.com/id
)它给了我page1
因此,有可能这样做吗?
因此,有可能这样做吗?
您的模式看起来完全相同,除了一个斜杠带有一个斜杠,而另一个斜杠没有一个斜杠。
因此,无论此“ id”是什么,如果没有尾部斜杠,它都会与第一条规则^([a-zA-Z0-9_-]+)$
匹配,但与第二条规则^([a-zA-Z0-9_-]+)/$
如果有斜杠)。 这意味着:
www.mydomain.com/52/
重写为: users.php?id=52
,以及
www.mydomain.com/52
重写为: page1.php?id=52
。
现在,如果您要使其在有或没有尾斜杠的情况下都适用,那就不可能了。 52个匹配项之间没有区别。 例如,如果您具有以下URL:
www.mydomain.com/1234
那是page1.php
吗? 或users.php
吗? 两种模式完全相同,因此第一个规则始终匹配,而第二个规则始终被忽略。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.