我目前正在嘗試為 WordPress 中的 url 編寫重寫規(guī)則。原始網(wǎng)址如下所示:http://localhost/download/d0RqYU8xek9JOXBsQmJrRGpldWF2QT09/?selected_files%5B0%5D=TURUWEdaWWNtS1ZOd2NSY0MybThCQT09&selected_files%5B1%5D=cWhFVEtlOENNM0VwNmlrUlBmOVF1UT09之后的第一個(gè)值/download/是特定文件存儲(chǔ)的唯一標(biāo)識(shí)符。之后,我添加了一系列文件。在 WordPress 中,我現(xiàn)在想為此請(qǐng)求編寫一個(gè)重寫 URL,以便我可以在后端處理它。為此,我需要一個(gè)特定的正則表達(dá)式來(lái)識(shí)別請(qǐng)求并返回匹配項(xiàng)以構(gòu)建我的重寫 url:public function filter_rewrite_rules_array( $rules ): array { $new_rules['download/([0-9][a-z][A-Z]+)/.......'] = admin_url( 'admin-ajax.php' ) . '?download=$matches[1]&selected_files=$matches[2]'; return array_merge( $rules, $new_rules );}關(guān)鍵是我無(wú)法完成正則表達(dá)式....有人可以幫我解決這個(gè)問(wèn)題嗎?即使是第一場(chǎng)比賽也不行。更新:我期待這個(gè) URL 結(jié)果:http://localhost/admin-ajax.php?download=d0RqYU8xek9JOXBsQmJrRGpldWF2QT09&selected_files%5B0%5D=TURUWEdaWWNtS1ZOd2NSY0MybThCQT09&selected_files%5B1%5D=cWhFVEtlOENNM0VwNmlrUlBmOVF1UT09正如我剛才看到的——請(qǐng)求可以有多個(gè)文件 ID。所以不知道如何使用正則表達(dá)式完成此操作。這可能嗎?
1 回答

慕勒3428872
TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊
您可以嘗試:
.*?\/download\/(.*?)\/\?(.*)
上述正則表達(dá)式的解釋:
.*?
-懶惰地匹配之前的一切\download
。
\/download\/
-/download/
逐字匹配。
(.*?)
- 表示匹配您需要的唯一 ID 的捕獲組,即在/?
懶惰之前匹配任何內(nèi)容。
(.*)
- 表示匹配 url 其余部分的第二個(gè)捕獲組。替換零件:由于零件
http://localhost/admin-ajax.php?download=
是靜態(tài)的;您可以將它與捕獲的組一起使用,即http://localhost/admin-ajax.php?download=$1&$2
。
您可以在此處找到上述正則表達(dá)式的演示。
- 1 回答
- 0 關(guān)注
- 118 瀏覽
添加回答
舉報(bào)
0/150
提交
取消