繁体   English   中英

url rewrite .htaccess:用相同规则重写2页

[英]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( $_GETwww.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM