2010-01-04 83 views
2

我有一個相當龐大的網站,我需要修改URL中顯示的文件的名稱。我使用啓用了mod_rewrite的Apache 2。目前,我有我的.htaccess文件如下配置:.htaccess和頁面名稱

RewriteEngine on 
RewriteBase/
RewriteRule ^CakeList\.php$ TastyThingsList.php [T=application/x-httpd-php] 

現在,當我訪問http://mysitename/CakeList.php我確實看到數據的TastyThingsList.php頁面。如果用戶鍵入http://mysitename/TastyThingsList.php,他們確實看到該頁面,而不是閱讀「TastyThingsList.php」的地址欄,我希望它讀取「CakeList.php」。這可能使用mod_rewrite來完成嗎?請注意,CakeList.php頁面實際上並不存在,我或多或少地將它用作TastyThingsList.php頁面的別名。我一直在閱讀mod_rewrite的許多在線教程,但似乎無法找到答案。

總之,無論用戶類型:http://mysitename/CakeList.phphttp://mysitename/TastyThingsList.php,我想在瀏覽器的地址顯示http://mysitename/CakeList.php

謝謝 WebCow

回答

1

使用重定向標誌RewriteRule

 
RewriteRule ^TastyThingsList\.php$ CakeList.php [R=permanent,L] 

這是通過一個URL返回到客戶端瀏覽器,它居然又重新請求它,這就是它如何在地址欄中顯示給用戶。

理想情況下,如果永遠不會使用此URL,甚至可能將其配置爲直接輸入時無法訪問。

除非你有一個非常奇怪的httpd配置,否則你不應該在問題的RewriteRule中需要T標誌。