簡體   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