2013-03-11 41 views
0

我想創建一個htaccess 301重定向爲以下類型的URL的一些幫助。301在htacess中重定向。匹配頁面ID

總共有大約500個左右的產品,而不是爲每個網址寫一個重定向,這將會非常龐大​​和耗時,我希望有一種更簡單的方法,我還沒有發現創建一種正則表達式匹配?

OLD:http://www.example.co.uk/test-product-name-slug/prod_233.html

新:http://www.example.co.uk/test-product-name-slug-233.html

新的URL可以通過瀏覽..... example.co.uk/-223.html ......然後訪問重寫爲..... example.co.uk/test-product-name-slug-233​​.html

所以它會出現我需要一種方法來檢測來訪者是否來到一個url cotains prod_id並重定向到-id

我希望一切都有道理。

回答

0

希望這是你要找的。它僅匹配

/some-product_name-random/prod_9393.html =>/some-product_name-random-9393.html

1個目錄的.htaccess

RewriteEngine on 
RewriteBase/

RewriteRule ^([a-zA-A-_]+)/prod_([0-9]+)\.html$ /$1-$2.html [R=301,L,QSA] 

正則表達式和參數解釋

([a-zA-A-_]+)相匹配的產品名稱$1

prod_([0-9]+)匹配的產品ID $2

[R=301] 301永久重定向

[L]停止的.htaccess腳本(可被移除,但對於具體的規則通常好習慣使用於不同的場合多次規則時)

[QSA]保持查詢字符串domain.com/somepath/page.html?querystring=value&otherstuff?...