2013-04-13 59 views
0

我正在将PHP站点从本地托管的IIS 6服务器移动到Pagoda Box。这个网站以前是用Coldfusion编码的,直到最近,我用PHP重新编写了它。对于谷歌Analytics(分析),我已做了所有面向外部的链接扩展名的,而服务了correspodnig PHP文件:从IIRF过滤器移动重定向/重写规则到htaccess

<a href="link">My Link</a> 

请求:

/link 

浏览器栏:

http://www.example.com/link 

RESPONSE:

/link.php 

我以前一直在使用Ionic Shade IIRF重写过滤器,现在显然会使用htaccess。我以前IIRF规则是这样的:

RedirectRule ^/([A-Za-z0-9_\-]+)\.cfm((\?.*)|())$ /$1$2 [R=301] 

RewriteRule ^/([A-Za-z0-9_\-]+)((\?.*)|())$ /$1.php$2 

所以,在我htaccess的文件,我已经试过这样:

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_HOST} ^example\.pagodabox\.com [NC] 
RewriteRule ^([A-Za-z0-9_\-]+)((\?.*)|())$ $1.php$2 [R=301,L] 

我的扩展名的链接服务-了正确的PHP文件与任何请求参数。但是,您会在浏览器栏中看到.php扩展名。我如何修改我的htaccess文件,使其功能与我之前的IIRF规则相似?

回答

1

您必须删除R=301标志。

此标志会导致Web服务器向浏览器发送Location响应,并强制浏览器请求新的URL。

+0

谢谢,这个伎俩!我整周都在配置这台新的云服务器,所以很容易就看到小细节。 –