所以,我想要你的帮助 我试图以这种方式重写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
中播放它很好但我无法获取id变量抛出php($_GET
)
如果我从网址(www.mydomain.com/id
)中删除了page2,它就给了我page1
所以,有可能这样做吗?
答案 0 :(得分:0)
所以,有可能这样做吗?
你的模式看起来完全一样,除了有一条尾随斜线,一条斜线与另一条没有斜杠。
所以无论这个“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
?两种模式完全相同,因此第一条规则始终匹配,第二条规则始终被忽略。