Google在網站的側邊欄中發現了一個傳呼機,允許用戶在博客條目中滾動瀏覽「標籤」,每個傳呼機都會點擊鏈接到一個新的網址,例如, example.com/blog/article-title?page=1
。如何使用htaccess刪除URL參數但保留動態元素?
由於博客有500個帖子,而且尋呼機有140個頁面的標籤,Google爲我的網站編制了很多頁面的索引。我不想要這個,原因很多。我已經刪除了這個標籤塊上的尋呼機,因爲它是完全不必要的,但現在想要對所有這些?page=X
網址執行301重定向,希望Google隨着時間的推移將它們從索引中刪除。
的網址是這樣的:
- http://example.com/blog/blog-article-title?page=0
- http://example.com/blog/blog-article-title?page=1
- http://example.com/blog/blog-article-title?page=2
我怎樣才能做一個301通過htaccess的,將用戶發送到http://example.com/blog/blog-article-title
重定向?
我迄今爲止嘗試過
RewriteRule ^blog/(.*).?page(.*)$ /$1/blog/$2? [R=301,L]
和
RedirectMatch 301 ^/blog/(.*)\?page(.*)$ /blog/$1
,但沒有運氣許多變化。任何幫助將非常感激。
編輯:對於其他可能偶然發現的問題,Google完全忽略了標題中定義的規範網址,並對所有30,000個以上的網址組合進行了索引。在接受的答案中進行htaccess重寫,在這些頁面上正確執行301。當然,這要求我將尋呼機移到其他地方,但這已經在我的特定情況下處理了。
這不會刪除每個URL上的??page =?查詢嗎?在某些頁面上,「?page =」可能是必需的,即博客列表。 –
我更新了代碼以僅匹配/ blog /目錄中的任何內容。 – Sameh
這很完美。嘗試了其他建議的幾個變化,只是不能讓他們按預期工作。 –