在一个曾经从.asp迁移到.php的站点上,我在.htaccess文件中使用了以下内容,以确保遵循旧链接的用户最终会出现在正确的页面上:
RewriteEngine On
RedirectMatch 301 (.*)\.asp$ http://www.website.org/$1.php我刚刚将站点移到了一个新服务器,在新服务器上,对.asp页面的请求现在以地址中的额外斜杠结束,就在页面名之前:
http://www.website.org//page.php(如何)可以对上面的.htaccess代码进行调整以消除额外的斜杠?
发布于 2015-04-17 17:51:17
您在假设RewriteEngine On是RedirectMatch所必需的,但它不是。RedirectMatch是mod_alias的指令,另一个是mod_rewrite的指令。
您可以通过使用(这两种代码之一)来修复您的代码:
选项1:
RewriteEngine On
RewriteRule ^(.+?)\.asp$ http://www.website.org/$1.php [L,NC,R=301]备选方案2:
RedirectMatch 301 ^/(.+?)\.asp$ http://www.website.org/$1.php您还需要确保在清除浏览器缓存之后或在新浏览器中测试它,以避免旧的浏览器缓存。
发布于 2015-04-17 17:36:12
你试过这个吗?
RewriteEngine On
RedirectMatch 301 ^.*/(.*)\.asp$ http://www.website.org/$1.php发布于 2015-04-17 18:10:06
试着这样做:
RewriteEngine On
RewriteRule ^(.*)\.asp$ http://www.website.org/$1.php [NC,R=301]https://stackoverflow.com/questions/29705894
复制相似问题