2013-03-29 50 views
0

現在,當用戶鍵入的東西像的.htaccess重寫 - 重定向到重定向一個PHP文件,希望保留原來的URL

site.com/shirt/shirtid 

它們通過重寫規則,說

RewriteRule ^shirt/([a-z][0-9a-z_]+)$ /utils/phurl/redirect.php?alias=$1 [L,R=301] 

重定向然後將其重定向到分配了別名的頁面。但是,當PHP重定向發生時(通過標頭(位置:$ url)),它將url從site.com/shirt/shirtid更改爲我想縮短的很長的URL。有沒有一種方法可以在整個重定向過程中保留原始URL?

E.g.用戶轉到site.com/shirt/shirtid,發生重定向過程,地址欄中的URL仍爲site.com/shirt/shirtid

回答

1

當您通過PHP傳遞重定向標頭時,默認情況下會導致頁面加載重定向。你當然可以重定向到你想要的任何URL格式。但是,我不明白如何使它與原始URL相同,因爲這會使您處於無限重定向循環中。

這聽起來像我在PHP中,你實際上並不想做一個重定向,而是包括一些有條件地基於別名值(基本上是一個前端控制器模式)的頁面邏輯集。