使用RewriteCond和RewriteRule更改我的URL

时间:2015-03-02 12:17:29

标签: apache .htaccess mod-rewrite

下午好,

我正在尝试使用RewriteCond和RewriteRule自动将网址从一个地方更改为一个地方。

这是我的尝试:

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /index\.php\?option=com_sobipro&pid=(.*)\ HTTP
RewriteRule ^ /component/sobipro/%2 [R=301,L]

我需要更改此内容:http://www.idermo.es/index.php?option=com_sobipro&pid=1&sid=14408

对此:http://www.idermo.es/component/sobipro/14408.html

正如您所看到的,我只需要将数字放在新网址中,但我无法完成这项工作。你能帮帮我吗?

目前它只显示: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”等网址不再有效,但有些用户可能正在使用它(因为它们在打印的二维码中)并且我希望这些用户被重定向到新的那些用户,例如“idermo.es/component/sobipro/14408”URL。

提前致谢。

1 个答案:

答案 0 :(得分:0)

以下内容应该有效:

RewriteEngine On

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

这将检查查询字符串以确保它与option=com_sobipro匹配并获取sid后面的数字