2014-03-24 47 views
1

用一個新的要求,以創建新文件和新的網址,以及重定向已經重寫URL(它指向新的基礎文件)

然而,它的重要更換舊體制,舊的URL重定向到新的

現在我在本地測試,並建立了兩個簡單的文件,item.phpitem-newpage.php

這裏是我到目前爲止已經試過:

RewriteEngine on 
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ /item.php?size=$1&color=$2 
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2 
RedirectMatch 301 ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ ^$1-$2-item-newpage/$ [R=301,L] 

也試過這樣:

RewriteEngine on 
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ /item.php?size=$1&color=$2 
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2 
RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/$ ^$1-$2-item-newpage/$ [R=301,L] 

但沒有轉向正在發生尚未

而且,我真的很想刪除我的.htaccess文件到舊文件的引用(即2號線),並從服務器如果可能的話

@anubhava刪除它們,熬下來到期望的結果:

www.mysite.com/small-blue-item/

應301重定向到

www.mysite.com/small-blue-item-newpage/

緬懷/small-blue-item-newpage/現在由一個新文件提供支持

+0

什麼是您想要刪除的一些示例網址? – anubhava

+0

嗨,我提供了一個例子:) – Drewdavid

+0

好的我在下面發佈了一個答案。 – anubhava

回答

0

你可以使用t他的代碼:

RewriteEngine on 

RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item/?$ /$1-$2-item-newpage/ [R=301,L] 

RewriteRule ^([a-zA-Z]+)-([a-zA-Z]+)-item-newpage/$ /item-newpage.php?size=$1&color=$2 [L,QSA] 
+0

嗨,這很接近;謝謝。這是發送到'arge-blue-item-newpage/$'在URL的末尾帶有美元符號(並且該頁面未加載)。如果我手動刪除地址欄中網址末尾的$,則會加載頁面。不知道如何改變代碼來阻止這個額外的$被放入URL – Drewdavid

+0

PS - 問號在第二行做了什麼:'... item /?$'? – Drewdavid

+0

更正了尾隨'$'問題。 '/?$'會在URI中產生尾隨的'/'選項。現在就試試 – anubhava