我想把在舊的html網站根目錄下發現的PDFs重定向到一個特定的WordPress上傳目錄。但是我需要確保我不會把根目錄下的所有頁面/檔案都發送到uploads目錄。
所以我希望它能像這樣做:
Fromhttp://www.oldsite.com.au/*.pdf。
To https://www.newsite.com/wp-content/uploads/2021/01/*.pdf
我知道這是不正確的格式,但我用上面的例子來說明,我想讓重定向接收所有以.pdf結尾的檔案,并把它們重定向到新位置的相同檔案名。
我正在使用WordPress的重定向插件來進行重定向。
下面是一個重定向的例子,它將所有的檔案從根目錄移到選定的目錄。
Source URL: ^/(.*)
目標URL: https://www.newsite.com/wp-content/uploads/2021/01/$1
我希望得到的幫助是,如何調整源URL以只選擇PDF檔案,然后將完整的檔案名傳遞給目標URL(包括.pdf擴展名)
更新:
我想我已經找到了一個可能對我有用的方法。Source URL: ^/(.*).pdf
目標URL: https://www.newsite.com/wp-content/uploads/2021/01/$1.pdf。
對于這種URL,它確實能按照我的要求正確作業。http://www.oldsite.com/abc.pdf
但不幸的是,它也在接收這種URL,并且基本上給它一個無限的重定向回圈;http://www.oldsite.com/dir1/dir2/abc.pdf
我曾想過,在/前面放上^會把它限制在根目錄上,而不是把所有后續的目錄也撿起來。但我猜測(.*)是它允許任何出現在.pdf之前的url(包括目錄)。
誰能給我一個例子,說明如何阻止它在根目錄之外尋找一個PDF?
注意:SOURCE URL的欄位需要你想重定向的相對URL。
補充說明:插件 "重定向 "使用PHP的正則運算式。這些通常被稱為PCRE,可能與其他正則運算式庫不完全相同。
謝謝你的建議! SunnyOz
uj5u.com熱心網友回復:
你可以在匹配前面的正斜杠之后使用一個捕獲組:
^/([^s/] .pdf)
如果你能使用一個不同于/的分隔符,你就不必再使用反斜杠了。
^/([^s/] .pdf)
請看Regex演示
該模式匹配:
^字串的開始/匹配字面意思 。
(捕獲組1[^s/]負數字符類,匹配1次以上的任何字符,除了白邊字符或/。
.pdf匹配.pdf
)關閉1組
如果你想斷言字串的末尾,你可以在模式的末尾添加$。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/307828.html
標籤:
上一篇:在優雅的雜志主題中編輯頁腳
