2015-05-05 78 views
1

我想出了一個代碼片段,可能現有的文件名模式轉換到一個新的:Apache htaccess 301重定向到新的文件名模式?

RewriteEngine On 
RewriteRule (.*)-pi-(.*)\.html$ $1-p-$2 [NE,R] 

我去服務器上亂搞之前,會提供一些建議或更好的解決方案?

我希望將包含「-pi-」的url的文件重定向到「-p-」。

- HTTP://www.p.com/great-product-pi-37.html - HTTP://www.p.com/great-product-p-37 html的

每個產品的產品名稱(偉大的產品)和產品ID(37)的變化,但是格式是一樣的。

-pi-引用曾經是生成圖像的彈出窗口。圖像現在顯示在相同的屏幕上,但搜索引擎不斷索引並搜索舊的-pi圖像窗口。

謝謝,提前。

回答

2

這應該與小的調整,但你也需要使用301重定向。如果您只使用[R]而未指定301,則默認爲302。你不想要暫時的。你想永久。我會把它放在你可能有的其他重寫上面。

RewriteEngine On 
RewriteRule ^(.+)-pi-(.+)\.html$ /$1-p-$2.html [R=301,L] 
+0

感謝信息@PanamaJack。今天我會測試一下。 –

+0

精美的作品!我還添加了「?」該輸出刪除附加的查詢信息。 –

+0

看起來像這樣: RewriteRule ^(。+) - pi - (。+)\。html $ /$1-p-$2.html? [R = 301,L] –