.htaccess htaccess的Mod_重写

.htaccess htaccess的Mod_重写,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,Joomla 1.5的URL结构在版本2.5中更改 在此之前: 现在是: *请注意,id和itemid编号会根据页面的不同而变化,虽然所有页面都有id,但并非所有页面的url中都有itemid 虽然我们更新了数据库中的所有链接,但很多人仍然使用旧的链接结构,因此我们希望编辑htaccess文件,以便如果有人输入旧结构,它将转发到正确的结构 简单地说,在example.com上输入的任何URL(URL中的task=view)都应该替换为view=article 有人知道在htaccess中实现

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

在此之前:

现在是:

*请注意,id和itemid编号会根据页面的不同而变化,虽然所有页面都有id,但并非所有页面的url中都有itemid

虽然我们更新了数据库中的所有链接,但很多人仍然使用旧的链接结构,因此我们希望编辑htaccess文件,以便如果有人输入旧结构,它将转发到正确的结构

简单地说,在example.com上输入的任何URL(URL中的task=view)都应该替换为view=article


有人知道在htaccess中实现这一点的简单方法吗,可能是使用replace query string方法和301 redirect?

您可以使用mod_rewrite的
RewriteCond
%{query_string}
变量来匹配查询字符串。然后在
重写规则中使用%反向引用

试着这样做:

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