mod_Rewrite用于htaccess

时间:2012-06-13 01:01:26

标签: .htaccess mod-rewrite

Joomla 1.5的URL结构在2.5版中已更改。

之前:

http://example.com/index.php?option=com_content&task=view&id=587&Itemid=73

现在是:

http://example.com/index.php?option=com_content&view=article&id=587&Itemid=114

*请注意,id和itemid号码会根据页面进行更改,而所有页面都有ID,并且所有页面都没有在网址中包含Itemid。

虽然我们更新了数据库中的所有链接,但很多人仍然使用旧的链接结构,所以我们要编辑htaccess文件,这样如果有人进入旧结构,它将转发到正确的结构。

只需将在example.com上输入的任何URL与url中的task = view一起替换为view = article。

有没有人知道在htaccess中执行此操作的简单方法,可能使用替换查询字符串方法和301重定向?

1 个答案:

答案 0 :(得分:1)

您可以使用mod_rewrite的RewriteCond%{QUERY_STRING}变量匹配查询字符串。然后在RewriteRule

中使用反向引用

尝试这样的事情:

RewriteCond %{QUERY_STRING} ^(.*)&task=view&(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1&view=article&%2 [R=301,L]