Re: LocationMatch inside VirtualHost? [solved: bug]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Viaduct Productions wrote:
[...]
As much as by now the subject has become inappropriate, if you change it in the middle, it becomes very hard for people to follow.
So I'll restore the original one.
By marking [OT], I was talking about the other discussion about how bad Apache and the documentation and the people on this list are etc..
;-)

So, to get back to the real subject :

"NameVirtualHost 8:80 has no VirtualHosts", to me, conflicts with "*:80 is a NameVirtualHost".

It does not really.  The message
NameVirtualHost *:80 has no VirtualHosts
is relative to one line
NameVirtualHost *:80
(the superfluous one that lingers somewhere), which does not have corresponding/matching <VirtualHost ..> sections.

The second message
*:80 is a NameVirtualHost
is maybe not the most explicit, but it corresponds to the other line
NameVirtualHost *:80
which /does/ have corresponding <VirtualHost ..> sections that seem to match it.

That is probably because Apache, as it (sequentially) reads the configuration files (starting with httpd.conf), then finding in there "Include some_other_file" directives, finds
a) a first "NameVirtualHost *:80" somewhere,
and then
b) a second "NameVirtualHost *:80" line, without having seen in-between, <VirtualHost> sections that would correspond to the first "NameVirtualHost *:80".
So it warns you that something is missing there.
c) after it finds the second "NameVirtualHost *:80" line however, it does find your corresponding <VirtualHost> sections, so it is happy then.

Is that clearer ?


  My vhosts are registering twice in apachectl
-S.

Now that is interesting. It would tend to confirm the guess that somewhere, you have a duplicated "Include" directive, which somehow reads a certain configuration file one too many times.

Very little of this makes any sense.
I can assure you that it most probably does make a lot of sense.
It is just that you are still overlooking something that would make it all fall into place logically.

Maybe this :
Apache basically has only /one/ configuration file, the one indicated by the initial "-f" command-line parameter of the httpd program. By default that is "httpd.conf" in the ServerRoot directory. But on different platforms, depending on the Apache distribution, it may be another name somewhere else.
Anyway, Apache starts there, and basically sticks with that file.
Only, whenever in that file it finds an "Include" directive, it will read the included file (or files) at that point, just as if the content of that included file(s) had been in httpd.conf in the first place. If in the included file(s), there is another "Include", it will do this again, recursively. When it gets to the end of the included file(s), it resumes with the next line of the current file, just after the "Include".
What you may have overlooked, is a line like
Include /some/directory/*.conf
which would read /all/ the *.conf files present in that directory, at this point.
Then later there is an
Include /some/directory/somefile.conf
(from the same directory) and oops, the same file is read and included again.

And it just happens that this file starts with a "NameVirtualHost *:80".




---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
  "   from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx


[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux