2015-08-14 50 views
2

,以防止重複的內容我使用的.htaccess創造一個乾淨的URL,但 當我檢查我的網站 example.com/some-request有重複的內容與 xyz.com/product_view.php?category_id=some-request如何使用htaccess的

我發現難如何解決這是我的重寫規則:

RewriteEngine on 

RewriteBase/

RewriteRule ^([0-9a-zA-Z_-]+)$ product_view.php?category_id=$1 [NC,L] 

什麼可以是一個更好的解決方案呢?

回答

1

您需要內部重寫前外部重定向請求
example.com/product_view.php?category_id=some-request
xyz.com/some-request

嘗試以下操作:

RewriteEngine on 
RewriteBase/

# Redirect direct requests for the real URL to your desired URL 
RewriteCond %{THE_REQUEST} \?category_id=([^\ ]*) 
RewriteRule ^product_view\.php /%1? [R=301,L] 

# Existing rewrite to real URL 
RewriteRule ^([0-9a-zA-Z_-]+)$ product_view.php?category_id=$1 [NC,L] 

的位預留......但如果這些網址獲得索引唯一真正複製。如果您一直鏈接到您的「漂亮」網址,那麼風險相對較低。這也可以通過在頁面上設置適當的rel="canonical"link元素來避免。

+1

Wohoo!非常感謝w3d! :) – newbienoob