Php .htaccess 301重定向添加了一个额外的斜杠

Php .htaccess 301重定向添加了一个额外的斜杠,php,.htaccess,mod-rewrite,redirect,Php,.htaccess,Mod Rewrite,Redirect,在一个曾经从.asp迁移到.php的站点上,我在.htaccess文件中使用了以下内容,以确保使用旧链接的用户最终会出现在正确的页面上: RewriteEngine On RedirectMatch 301 (.*)\.asp$ http://www.website.org/$1.php 我刚刚将该站点移动到一个新服务器上,在该服务器上,对.asp页面的请求现在以地址中的一个额外斜杠结束,就在页面名称之前: http://www.website.org//page.php (如何)调整上述.

在一个曾经从.asp迁移到.php的站点上,我在.htaccess文件中使用了以下内容,以确保使用旧链接的用户最终会出现在正确的页面上:

RewriteEngine On
RedirectMatch 301 (.*)\.asp$ http://www.website.org/$1.php
我刚刚将该站点移动到一个新服务器上,在该服务器上,对.asp页面的请求现在以地址中的一个额外斜杠结束,就在页面名称之前:

http://www.website.org//page.php
(如何)调整上述.htaccess代码以消除多余的斜杠?

您尝试过吗

RewriteEngine On
RedirectMatch 301 ^.*/(.*)\.asp$ http://www.website.org/$1.php

您假设
RedirectMatch
需要
RewriteEngine On
,但事实并非如此
RedirectMatch
mod\u alias
的指令,另一个来自
mod\u rewrite

您可以使用以下两种代码中的任何一种来修复代码:

选项1:

RewriteEngine On
RewriteRule ^(.+?)\.asp$ http://www.website.org/$1.php [L,NC,R=301]
RedirectMatch 301 ^/(.+?)\.asp$ http://www.website.org/$1.php
选项2:

RewriteEngine On
RewriteRule ^(.+?)\.asp$ http://www.website.org/$1.php [L,NC,R=301]
RedirectMatch 301 ^/(.+?)\.asp$ http://www.website.org/$1.php
您还需要确保在清除浏览器缓存后测试它,或者在新浏览器中测试它,以避免旧的浏览器缓存。

请尝试以下方法:

RewriteEngine On
RewriteRule  ^(.*)\.asp$ http://www.website.org/$1.php [NC,R=301]

我已经更新了我的答案,它应该做你需要的。非常感谢你的澄清。我尝试了选项2,效果非常好。