I'm simply overwhelmed with recent activity and the effect has been detrimental.
If there are mistakes in my explanation, please explore on your own and further.
In addition, I've read somewhere at Webmaster World and searched the WWW for clarifications that I've failed to mark those references.
First and an Earth to Don!
Due to my htaccess inactivity, I'd forgotten one of the most basic requirements.
NOTEPAD and other editors are why my mod_rewrite was not functioning.
As previously mentioned, upon my re-entry into activity as a webmaster, the extensive mod_rewrite portion of my htaccess file (last used in early 2010) was not functioning.
I began dissecting large portions to determine cause.
Simultaneously, I was required to add new portions (error docs and AddType), which I had not been required to use previously.
To implement error docs, I was able to locate two old threads in which jdMorgan (Jim). explained the procedure. Here's one
SetEnvIf Request_URI "^(robots\.txt|custom_403_page\.html)$" allowall
Note Jim's example (from April 2010) of enclosing the opening and closing anchors within parentheses.
I used this for three days and my custom error documents failed (per one persistent visitor requesting the same page at least a dozen times with each 24-hour period).
Just as soon as I randomly moved the anchors outside the parentheses, my custom error functioned.
Although Jim's references were useful, I had a non-working issue in one that required a random change/test after not be able to locate a solution. Perhaps Jim just made a typo, or perhaps recent updates in Apache have changed the then functioning procedure.
For clarification and regarding the escaping of characters which causes the log format change? I have nine files with the same time that were modified in close proximity. The first time around was difficult enough and I'm not about to relive that nightmare (my eyes and thoughts wee so out of focus that I never even noticed the format change until twelve hours later) just for example, rather I'll provide the end result.
I have some nagging recollection of Jim explaining vaguely (and on multiple ocassions) that there was a difference in the application of procedures of "POSIX" between mod_rewrite and Deny From (mod_access), or SetEnvIf (mod_setenvif), and/or both of the latter.
I can assure that there is an assured difference in the application "PCRE" between mod_rewrite and Deny From (mod_access); SetEnvIf (mod_setenvif).
Here are two such examples.
(If the logic fails?
Take two aspirins and cal me in the morning.)
of SetEnvIf (mod_setenvif)
Both of these function fine in mod_setenvif
(change your UA and clear your browser cache to text.)
SetEnvIf User-Agent compatible\;\)$ keep_out
SetEnvIf User-Agent ^MSIE 6\.0$ keep_out
within mod_setenvif, and after previous confirmation remove the escapes Use the same testing UA and cache clear.
They will fail.
Take the 2nd line and convert it to mod_rewrite.
INTENTIONALLY leaving the blank space after MSIE.
No need to test because you should get a 500,
(bad delimiter (space) in error logs) however if you don't?
(change your UA and clear your browser cache to text.).
I've removed all escapes from both Deny From (mod_access),
or SetEnvIf (mod_setenvif) lines. Relocating those lines to
I'm also working on removing all CIDR from my file.
I've another nagging recollection of Jim's, of the perils of mixing CIDR with other syntax.
NOR will I use regex for IP's in Deny From (mod_access).
NOR will I use (or even test) the Files container again.
(See Jim's April 2010 explanation of the log format change in above link.)
Additionally and with Deny From (mod_access) or SetEnvIf (mod_setenvif), I'll ONLY use parentheses sparingly, and I'll ONLY use them as an "exactly as", wherein escape characters are not required. (i. e. POSIX, which I know functions as it should)
I've looked and looked for special character designation in regards to Deny From (mod_access) and SetEnvIf (mod_setenvif), and all I could locate were references to PCRE, absent any designation of special characters
in either module. (At least mod_rewrite provides eleven).
I'm simply overwhelmed with the necessary detail of all this and hope that it proves useful to others.
It surely does NOT provide any solid Apache, regex or PCRE documentation for these explanations.
I'm sure that I've other examples and solutions in the past 48-hours, however my brain is fried (too many changes, too much syntax all with out making notes, although I did number the numerous files), however my htaccess is functioning and I may resume adding back in my 900 lines of IP's ;)