我似乎无法找到如何重定向跟踪网址:
www.domain.com/index.php?option=com_k2&view=itemlist&task=user&id=*
要:
www.domain.com/
有什么建议吗?
答案 0 :(得分:0)
您可以在apache配置中使用RewriteRule。通过httpd.conf启用mod_rewrite和.htaccess。然后,在根目录中的.htaccess文件中放置以下内容
RewriteEngin On
RewriteBase /
RewriteCond %{QUERY_STRING} ^option=com_k2&view=itemlist&task=user&id=.*$
RewriteRule ^index\.php.*$ '' [R,L,QSD]
您必须使用RewriteCond来解析查询字符串,然后RewriteRule使用标志R重定向,L停止处理其他规则,QSD避免将查询字符串附加到URI。由于你是在web root中,你可以在不使用RewriteBase的情况下逃脱,但我用它来测试这段代码,因为我在子目录中使用.htaccess进行了测试。因此,对于想要在子目录中执行类似操作的人,可以将RewriteBase更改为/ sub1 / sub2 /以重写URL
www.domain.com/sub1/sub2/index.php?option=com_k2&view=itemlist&task=user&id=*
到
www.domain.com/sub1/sub2/
如果您不希望浏览器报告更改,则使用passthrough标志PT而不是重定向R.还有其他有用的标志用于不区分大小写匹配等等;您可以查看in apache docs。