2013-10-28 106 views
0

當前有一個頁面,其URL爲URL /results-details.php?mls_number=stringofnumbers。使用.htaccess將舊網址和新網址重寫爲相同頁面

我希望它重新寫入到:/結果的細節/ stringofnumbers

不過我想,要解決基本回到原來的頁面。

我還在內部更改網站上的所有網址以指向該網址。所以,我有兩個重寫規則:

RewriteCond %{QUERY_STRING} mls_number=([0-9]+)$ 
RewriteRule (.*) /new-homes/results-details/%1? [R=301,C] 
RewriteRule ^results-details/([0-9]+)$ results-details.php?mls_number=$1 

第二條規則適用於它自己在/內部鏈接結果的細節/ stringofnumbers形式很好,但第一個正確未鏈接到第二個並不確定我做錯了什麼。

基本上試圖保留任何鏈接到可能在那裏的舊URL,但在內部開始使用新的URS。

對此提出建議?

回答

0

你需要來匹配實際的請求,而不是URI,因爲重寫引擎循環:

RewriteCond %{THE_REQUEST} \ /new-homes/results-details\.php?mls_number=([0-9]+) 
RewriteRule^/new-homes/results-details/%1? [L,R=301] 

RewriteRule ^results-details/([0-9]+)$ results-details.php?mls_number=$1 
+0

嘗試這樣做,它似乎並沒有做任何事情。不確定它是否匹配失敗,或者無法重寫URL或只是循環。 – user1959500