2013-07-22 166 views
1

我有一個主要用PHP編碼的網站,但我試圖將我的動態php網址重寫爲靜態HTML網址。.htaccess重寫而不更改網址

但我希望地址欄仍然保持爲靜態HTML鏈接。

我試圖通過.htaccess來完成這個任務(我沒有訪問httpd.conf,因爲我在共享帳戶上託管)。這裏是我的.httaccess文件中寫的東西:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
RewriteRule ^inventory-search-([^.]+)-by-([^.]+).html$ http://www.pianostudiosandshowcase.com/inventory.php?search=$1&by=$2 [R] 

但我不能讓地址欄保持爲靜態HTML鏈接。

這裏是一個鏈接向你展示我的意思:

http://www.pianostudiosandshowcase.com/inventory.php?search=manufacturer&by=1 

我缺少什麼?

回答

2

您需要在您的重寫規則同時刪除R標誌以及協議/域名:

RewriteRule ^inventory-search-([^.]+)-by-([^.]+).html$ /inventory.php?search=$1&by=$2 [L] 

雙方將導致服務器外部重定向瀏覽器,告訴它「你要找因爲不在那個URL,你需要去這個完全不同的URL「。強制瀏覽器在其地址欄中顯示新位置。

如果您在內部重寫它,瀏覽器不知道它作爲請求發送的URI發生了更改,因此地址欄保持不變。