htaccess将带有扩展名的旧index.php重定向到新url

htaccess将带有扩展名的旧index.php重定向到新url,php,apache,.htaccess,mod-rewrite,redirect,Php,Apache,.htaccess,Mod Rewrite,Redirect,我在通过htaccess正确重定向这些链接时遇到一些问题 网站过去是动态的,现在是静态的 这个页面已经不存在了,但是仍然有链接通过这些url引用这个页面,所以我需要重定向它们 及 应该将它们重定向到最近创建的新静态html页面 通过htacess实现这一点的最佳方式是什么?我试过一些重写,但不起作用。如果您有任何帮助,我们将不胜感激-谢谢您应该能够通过301获得永久重定向: Redirect 301 /old.php /new.php 因此,在您的情况下,您可能需要以下内容: Redire

我在通过htaccess正确重定向这些链接时遇到一些问题

网站过去是动态的,现在是静态的

这个页面已经不存在了,但是仍然有链接通过这些url引用这个页面,所以我需要重定向它们

应该将它们重定向到最近创建的新静态html页面


通过htacess实现这一点的最佳方式是什么?我试过一些重写,但不起作用。如果您有任何帮助,我们将不胜感激-谢谢

您应该能够通过301获得永久重定向:

Redirect 301 /old.php /new.php
因此,在您的情况下,您可能需要以下内容:

Redirect 301 /index.php/?en=about /about.php

我建议文件名与值en匹配

 RewriteEngine on

RewriteCond %{QUERY_STRING} ^en=([^&]+)
RewriteRule ^(index.php/|)$ /%1.html? [R,L]
如果只有一页关于我们,那么代码如下

RewriteEngine on

RewriteCond %{QUERY_STRING} ^en=about
RewriteRule ^(index.php/|)$ /about-us.html? [R,L]

我试过用301和你的例子一样的方法。它给了我一个404并且没有重定向新html页面的名称是什么?重定向必须如何知道en=about被重定向到about-us?我已经尝试了一些重写。但是不起作用-你能把你试过的东西贴出来吗?我不太明白?旧站点是使用php框架构建的。我在上面发布的两个URL将用户带到了旧的“关于”页面。该页面已不存在,但仍有指向该页面的联机链接。我正在尝试重定向或重写这些URL到新的关于页面。好的,只对一个页面使用第二个示例-重定向从。。。但是当我从@ADP过来时,我仍然得到了404对不起,丢失了尾随斜杠