Apache 使用RewriteCond和RewriteRule更改我的URL
下午好 我正在尝试使用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 %{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
-请参见编辑后的答案。