2017-08-25 20 views
2

我更改了WP上的固定鏈接以獲取路徑後的任何字符串。我使用正則表達式:「yourdomain.com/%postname%-(.*)/」正則表達式(。*)和隨機字符串

當我檢查:「yourdomain.com/%postname%-f46eb54b99ce3a9835ea7d63e075d434」時,它匹配。

但是當我檢查: 「yourdomain.com/%postname%-446eb54b99ce3a9835ea7d63e075d434」時,它會返回「yourdomain.com/%postname%-(.*)/446/」。

我認爲(。*)適用於所有內容,無論字母或數字如何。我很感激任何能向我解釋的人。

+0

'.'是任意字符'*'零或無限次 – Scuzzy

+0

之間你是什麼意思,_then返回「yourdomain.com/%postname%-(.*)/446/ 「_ ...? 「它」在哪裏返回,並向誰傳遞?你的意思是用戶在瀏覽器中被重定向,或者......? – CBroe

+0

大概有一個額外的規則是專門尋找數字的地方,它的優先順序。您可能會在https://wordpress.stackexchange.com的專門姊妹站點上獲得更好的專業知識。 – IMSoP

回答

1

你應該逃避所有/和。,如果你的意思是他們作爲正常的符號。所以,你必須:

yourdomain\.com\/%postname%-(.*)\/ 

它必須不匹配

yourdomain.com/%postname%-f46eb54b99ce3a9835ea7d63e075d434 
or 
yourdomain.com/%postname%-446eb54b99ce3a9835ea7d63e075d434 

,因爲你的正則表達式需求 /結尾。如果不是強制性的,放?結束後\/

yourdomain\.com\/%postname%-(.*)\/? 

tests

+0

謝謝@Gangnus –

+0

@RongRêu歡迎您,但在這裏SO upvotes和標記作爲謝謝回答工作:-) – Gangnus