Yes, you have a conflict.
- Both yours
.AccessRules have exactly the same conditions, so the first one will always win. The second is never executed.
- Your URL structure is ambiguous.
You must go back one step before trying to write code you Solve the following URLs:
How can you know that
At home should dissolve
p = home and
items should dissolve
? page = article? How about
foo? You can only "see" what's in the URL.
You either have to:
- There are some noticeable differences between the URLs so you know how to rewrite them. For example:
When the number of URLs has been rewritten
? page =) is limited, then you can literally list the URL patterns in your directive. For example:
RewriteRule ^ (home | about) $ index.php? P = $ 1 [L]
rewrite everything to a single URL parameter (eg
? page =) and decide in your PHP how the page should be provided. This seems to be the more logical solution since you rewrite
index.phpanyway in both scenarios and you do not want to continue editing
.Access, This could also do the extra
The additional parameter "tab"
If all URLs should be overwritten with a second path segment
? page = then that could be a "recognizable" difference. However, this currently fails if the second path segment is omitted, as in
/Items, How should it be handled?