I've been a professional C, Perl, PHP and Python developer.
I'm an ex-sysadmin from the late 20th century.
These days I do more Javascript and CSS and whatnot, and promote UX and accessibility.
Your first rule is saying, "take any path that doesn't include a / and send it as a query string value to users/index.php. This is relatively safe, I think.
Your second rule, the redirect from example.com/members/settings to http://example.com/settings/ has a couple of problems:
you're relying on it ending in a slash to avoid the first rule. That might not make the cut, I don't know.
you're using URLs not paths - you don't need the example.com part
you're specifying a scheme of http in the redirect which isn't necessary and will probably break things if you're using https (which most people do).
If you browse to /settings/ with the trailing slash (like the redirect suggests) it's possible it'll work, however, it'll be trying to get its content from something like /settings/index.html unless you're using other overrides somewhere else.
If you browse to /settings without the trailing slash it'll hit the first rule and redirect to users/index.php?id=settings
You don't need to use RewriteEngine On more than once.
I don't have any of this set up, so I don't guarantee anything I say is particularly right.
Your first rule is saying, "take any path that doesn't include a
/
and send it as a query string value tousers/index.php
. This is relatively safe, I think.Your second rule, the redirect from
example.com/members/settings
tohttp://example.com/settings/
has a couple of problems:example.com
parthttp
in the redirect which isn't necessary and will probably break things if you're usinghttps
(which most people do).If you browse to
/settings/
with the trailing slash (like the redirect suggests) it's possible it'll work, however, it'll be trying to get its content from something like/settings/index.html
unless you're using other overrides somewhere else.If you browse to
/settings
without the trailing slash it'll hit the first rule and redirect tousers/index.php?id=settings
You don't need to use
RewriteEngine On
more than once.I don't have any of this set up, so I don't guarantee anything I say is particularly right.
your response is highly appreciated. Let me try to check through.