将重定向/重写规则从IIRF过滤器移动到htaccess


Moving Redirect/Rewrite rules from IIRF Filter to htaccess

我正在将一个PHP站点从本地托管的IIS 6服务器移动到Pagoda Box。这个网站以前是用Coldfusion编码的,直到最近,我才用PHP重新编码。对于谷歌分析,我已经使所有面向外的链接无扩展,同时提供相应的。php文件:

<a href="link">My Link</a>
请求:

/link
浏览器栏:

 http://www.example.com/link

反应:

/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规则?

您必须移除R=301标志。

该标志使web服务器向浏览器发送Location响应,并强制浏览器请求新的URL