2010-01-04 73 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标志。