You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Forrest Aldrich <fo...@forrie.com> on 2003/06/03 22:57:22 UTC

[users@httpd] VirtualHost _default_:* not working?

I'm trying to set a catch-all page that will be displayed, should something 
be pointed to my server (which hosts a few pages) for which it has no 
content.  For example, there might be a valid dns record that points here, 
but the page isn't hosted any longer, thus I want a 404 to come up (and 
will add more detail later, once I get this working).

So, in the Apache Server Unleashed book, it explains the use of the 
_default_:* directive.  I set this to:

<VirtualHost _default_:*>
     DocumentRoot /usr/local/apache/htdocs/default
</VirtualHost>

But, the default page that comes up is the page for the primary system root 
page /usr/local/apache/htdocs, not what I specified above.

Does this directive have to be after the rest of the VirtualHost 
directives, or am I doing this incorrectly?

All of the VirtualHost entries I have are via NameVirtualHost, ie: they 
have the same IP, but different ServerName entries.



Thanks,
Forrest 


---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] VirtualHost _default_:* not working?

Posted by Joshua Slive <jo...@slive.ca>.
On Tue, 3 Jun 2003, Forrest Aldrich wrote:

>
> I'm trying to set a catch-all page that will be displayed, should something
> be pointed to my server (which hosts a few pages) for which it has no
> content.  For example, there might be a valid dns record that points here,
> but the page isn't hosted any longer, thus I want a 404 to come up (and
> will add more detail later, once I get this working).
>
> So, in the Apache Server Unleashed book, it explains the use of the
> _default_:* directive.  I set this to:

> All of the VirtualHost entries I have are via NameVirtualHost, ie: they
> have the same IP, but different ServerName entries.

The _default_ virtual host catches requests only for hosts that have no
matching IP address.  If you want a default name-based virtual host (one
that catches unrecognized hostnames) then simply create a new
<VirtualHost> block with the same IP as your NameVirtualHost directive,
give it a random ServerName, and list it first in your config file.

Joshua.

---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org


Re: [users@httpd] VirtualHost _default_:* not working?

Posted by Forrest Aldrich <fo...@forrie.com>.
Follow-up to my own posting.  I noted that I can go to:

http://our.hostedsite.com/

and get the default page that points to my own site (as mentioned)

OR

http://our.hostedsite.com/anything.html

and get the proper 404 page specified for 
/usr/local/apache/htdocs/default/index.php.

So I guess I'm not understanding how to catch that invalid (no longer 
hosted) URL.   I want to avoid having to keep stale VirtualHost entries 
just to satisfy the requirement if possible.



Forrest



At 04:57 PM 6/3/2003, you wrote:

>I'm trying to set a catch-all page that will be displayed, should 
>something be pointed to my server (which hosts a few pages) for which it 
>has no content.  For example, there might be a valid dns record that 
>points here, but the page isn't hosted any longer, thus I want a 404 to 
>come up (and will add more detail later, once I get this working).
>
>So, in the Apache Server Unleashed book, it explains the use of the 
>_default_:* directive.  I set this to:
>
><VirtualHost _default_:*>
>     DocumentRoot /usr/local/apache/htdocs/default
></VirtualHost>
>
>But, the default page that comes up is the page for the primary system 
>root page /usr/local/apache/htdocs, not what I specified above.
>
>Does this directive have to be after the rest of the VirtualHost 
>directives, or am I doing this incorrectly?
>
>All of the VirtualHost entries I have are via NameVirtualHost, ie: they 
>have the same IP, but different ServerName entries.
>
>
>
>Thanks,
>Forrest
>
>---------------------------------------------------------------------
>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@httpd.apache.org
>   "   from the digest: users-digest-unsubscribe@httpd.apache.org
>For additional commands, e-mail: users-help@httpd.apache.org


---------------------------------------------------------------------
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@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org