我正在使用.htaccess来重写我的网址,到目前为止,几乎正在工作......
我遇到的问题是mysite.com/author
和mysite.com/author/submit/1
都重定向到同一页面( mysite.com/author 。)
这些是我目前正在使用的重写规则:
RewriteRule ^author /zabjournal/pages/author/active_submissions.php [L]
RewriteRule ^author/submit/1 /zabjournal/pages/author/submit_step1.php [L]
如何让第二条规则发挥作用?
答案 0 :(得分:1)
这是因为你把规则放错了。
第一条规则验证并执行,因为author
是两个网址中的第一个字符串。
/author
/author/submit/1
/author/blah
/author/blah/blah/blah/blah/blah
上面的网址都与第一条规则匹配,因此,它将被执行。
规则末尾的 [L] (代表 last )意味着如果执行该规则,它将不会处理其他规则。
但是,如果您更改重写规则的顺序,它将首先检查URL是否与/author/submit/1
匹配,如果匹配,它将执行重写然后停止;但如果没有,它将继续下一个规则,在您的示例中,该规则将为/author
。