Apache 使用RewriteCond和RewriteRule更改我的URL

Apache 使用RewriteCond和RewriteRule更改我的URL,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,下午好 我正在尝试使用RewriteCond和RewriteRule自动将URL从一个位置更改为一个新位置 这是我的尝试: RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?option=com_sobipro&pid=(.*)\ HTTP RewriteRule ^ /component/sobipro/%2 [R=301,L] 我需要改变这一点: 为此: 正如你所看到的,我只需要得到这个号码就可以把它放到新的URL中,但我无法

下午好

我正在尝试使用RewriteCond和RewriteRule自动将URL从一个位置更改为一个新位置

这是我的尝试:

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?option=com_sobipro&pid=(.*)\ HTTP
RewriteRule ^ /component/sobipro/%2 [R=301,L]
我需要改变这一点:

为此:

正如你所看到的,我只需要得到这个号码就可以把它放到新的URL中,但我无法做到这一点。你能帮帮我吗

目前它只显示以下内容:idermo.es/component/sobipro/1&sid=14408?option=com_sobipro&pid=1&sid=14408

编辑:

我已经更改了我的“条目”的存储位置(Joomla),像“idermo.es/index.php?option=com_sobipro&pid=1&sid=14408”这样的URL不再是活动的,但是一些用户可能正在使用它(因为它们在打印的QR码中),我希望这些用户被重定向到新的URL,比如“idermo.es/component/sobipro/14408”


提前感谢。

以下操作应该可以:

RewriteEngine On

RewriteCond %{QUERY_STRING} option=com_sobipro.*&sid=(\d+)
RewriteRule index.php$ /component/sobipro/%1? [R,L]

这将检查查询字符串,以确保它匹配
option=com_sobipro
,并获取
sid

Hi@arco444,它不工作,我的URL只显示“idermo.es/component/sobipro/”而不显示末尾的数字。谢谢。我弄错了,反向引用搞错了-应该是
%1
而不是
$1
-请参见编辑后的答案。