我有一些重写的网址指向原始动态网址,如下所示:
http://mysite.com/profile/edit/ => http://mysite.com/index.php?action=profile&sa=edit
这是htaccess中的重写:
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?action=$1&sa=$2 [L]
^所以这很好用。
现在我还有以下网址:
http://mysite.com/search/editorials/ => http://mysite.com/index.php?action=search&category=editorials
在上面发布的上一个重写规则之后的重写:
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?action=$1&category=$2 [L]
^这不起作用。我检查了$ _SERVER数组,这是重定向到查询字符串的内容:
action=search&sa=editorials
到目前为止,我已经在这一天工作了一天,我尝试了各种教程,但没有运气。我如何让它工作?
任何帮助表示赞赏。谢谢。
答案 0 :(得分:1)
这两次重写是相互冲突的。你需要在两者之间创造某种类型的区别
RewriteRule ^ 帐户 /(。)/([^ /] )/ $ /index.php?action=$1&sa=$2 [L] < / p>
RewriteRule ^([^ /] )/([^ /] )/ $ /index.php?action=$1&category=$2 [L]
或使参数保持一致并使用单次重写:
RewriteRule ^([^ /] )/([^ /] )/ $ /index.php?action=$1&parm1=$2 [L]