301-Redirect
使用 mod_rewrite 或 RedirectMatch 將 oldfile.aspx?p=blah 重定向到 newfile.php,忽略 ?p=blah
我有一個站點,其中包含許多指向舊結構的傳入連結(已消失多年),隨著數據庫映射的更改,大量的 URL 變數不再相關。所以,我想重定向:
http://www.mysite.com/oldfile.aspx?p=1&c=2
到:
http://www.mysite.com/newfile.php
最後沒有查詢字元串。實際的查詢字元串各不相同 - 有數百個,但由於它們不再與特定情況匹配,我想將人們帶到他們正在尋找的內容的新索引頁面,這樣他們就可以找到它從那裡。
我目前使用:
RedirectMatch 301 ^/oldfile\.aspx$ /newfile.php
不過,這會使查詢重新結束。有人可以告訴我我需要的巫毒食譜嗎?
RewriteEngine on
RewriteRule ^oldfile.aspx*$ /newfile.php? [R]
如果您希望使用者看到 oldfile.aspx 並真正點擊 newfile.php 的話,這最終會導致在 url 中顯示 newfile.php
$$ L $$代替$$ R $$mod_rewrite 規則中的標誌。 在newfile.php 後面加問號?這麼老的字元串之後?迷路。