Redirect 将旧joomla 1.5无SEF url重定向到index.php之前的新2.5 SEF url

Redirect 将旧joomla 1.5无SEF url重定向到index.php之前的新2.5 SEF url,redirect,joomla,rewrite,sef,Redirect,Joomla,Rewrite,Sef,我在一个新的2.5 joomla站点工作,旧站点是1.5,旧站点的URL没有SEF。我需要将旧的1.5无SEF URL重定向到新的SEF URL,我正在这样做: redirect 301 /index.php?option=com_k2&v... http://www.newsite.com/es (注意url中的语言,它似乎对问题很重要,我在使用joomla集成语言系统) 但是它不起作用,不知何故joomla去掉了index.php,重定向也不起作用。我试图从重定向中删除index.

我在一个新的2.5 joomla站点工作,旧站点是1.5,旧站点的URL没有SEF。我需要将旧的1.5无SEF URL重定向到新的SEF URL,我正在这样做:

redirect 301 /index.php?option=com_k2&v... http://www.newsite.com/es
(注意url中的语言,它似乎对问题很重要,我在使用joomla集成语言系统)


但是它不起作用,不知何故joomla去掉了index.php,重定向也不起作用。我试图从重定向中删除index.php,但它也不起作用。我是htaccess和重定向中的noob,我被困在这个。。。谢谢。

嗯,这似乎是一个难题,我想我刚刚找到了一个解决方案,进行了扩展测试和谷歌搜索

我找到了一个重写并把它放在joomla重写之前:

RewriteCond %{QUERY_STRING} ^(.*)lang=es$
RewriteRule ^(index\.php)?$ /es? [R=301,L]
这将取代正常的重定向301

这对我来说很难解释,因为我对重定向和htaccess没有太多的知识,重要的是它似乎对我的问题有效,我希望其他人会觉得这很有帮助

如果有人能解释这段代码的中心思想,那就太难了


非常感谢。

最好的做法是执行完整的重定向(不带查询参数,即重定向301/),并使用SH404sef扩展在新站点上处理查询条件