[英]Regular expressions for 301 redirect
如何使用正則表達式將http://example.com/news.php?id=268&page=25
和所有頁面(如http://example.com/news.php?id=X&page=Y
重定向到另一個頁面?
我嘗試使用http://example.com/news.php?id=/d&page=/d
。
數字與\\d
匹配,而不與/d
匹配。 要匹配至少1位數字,您需要添加+
量詞。 為了捕獲數字以便將其復制到替換URL,您需要一個捕獲組。
您還需要轉義某些在正則表達式中具有特殊含義的字符: .
和?
。
http://example\.com/news\.php\?id=(\d+)&page=(\d+)
$string = 'http://example.com/news.php?id=268&page=25';
$pattern = '/^[^\?]+\?id=(\d+)&page=(\d+)$/';
$replacement = 'https://mynewdomain/with/too/many/subpaths/page.php?id=$1&page=$2';
echo preg_replace($pattern, $replacement, $string);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.