I’m using .htaccess to rewrite my URLs and so far it’s almost working as it should…
The problem I’m having is that mysite.com/author and mysite.com/author/submit/1 are both redirecting to the same page (mysite.com/author.)
These are the rewrite rules that I’m currently using:
RewriteRule ^author /zabjournal/pages/author/active_submissions.php [L]
RewriteRule ^author/submit/1 /zabjournal/pages/author/submit_step1.php [L]
How do I get the second rule to work?
This is because you have put the rules in the wrong order.
The first rule validates and executes because
authoris the first string in both URLs.The URLs above will all match the first rule, so, therefore, it will be executed.
The [L] (which stands for last) at the end of a rule means that it won’t process other rules if that rule is executed.
But, if you change the order of your rewrite rules it will first check to see if the URL matches
/author/submit/1and, if it does, it will execute that rewrite and then stop; but if it doesn’t, it will continue to the next rule, which, in your example, would be/author.