[Gllug] Apache Trailing Slashes

Daniel Andersson daniel at septum.org
Tue May 6 08:19:00 UTC 2003


try setting

ServerName www.domain.com

and it should work just fine

/ d

----- Original Message ----- 
From: "Simon Morris" <simon.morris at penguinit.com>
To: <gllug at linux.co.uk>
Sent: Tuesday, May 06, 2003 8:13 AM
Subject: [Gllug] Apache Trailing Slashes


> Hi All,
> 
> Trying to solve the age old Apache problem of the trailing slash
> 
> http://www.domain.com/folder == results in an error message
> 
> http://www.domain.com/folder/ == resolves because of the trailing slash
> 
> I've looked on the Apache documentation and found the following.....
> 
> Trailing Slash Problem
> 
> Description:
> 
>     Every webmaster can sing a song about the problem of the trailing
> slash on URLs referencing directories. If they are missing, the server
> dumps an error, because if you say /~quux/foo instead of /~quux/foo/
> then the server searches for a file named foo. And because this file
> is a directory it complains. Actually it tries to fix it itself in
> most of the cases, but sometimes this mechanism need to be emulated by
> you. For instance after you have done a lot of complicated URL
> rewritings to CGI scripts etc.
> Solution:
> 
>     The solution to this subtle problem is to let the server add the
> trailing slash automatically. To do this correctly we have to use an
> external redirect, so the browser correctly requests subsequent images
> etc. If we only did a internal rewrite, this would only work for the
> directory page, but would go wrong when any images are included into
> this page with relative URLs, because the browser would request an
> in-lined object. For instance, a request for image.gif in
> /~quux/foo/index.html would become /~quux/image.gif without the
> external redirect!
> 
>     So, to do this trick we write:
> 
> RewriteEngine  on
> RewriteBase    /~quux/
> RewriteRule    ^foo$  foo/  [R]
> 
>     The crazy and lazy can even do the following in the top-level
> .htaccess file of their homedir. But notice that this creates some
> processing overhead.
> 
> RewriteEngine  on
> RewriteBase    /~quux/
> RewriteCond    %{REQUEST_FILENAME}  -d
> RewriteRule    ^(.+[^/])$           $1/  [R]
> 
> ============================
> 
> The above all sounds fine but how do you do it for the entire site. The
> above rewrite rule would only work for foo folder under /~quux/.
> 
> Wouldn't it?
> 
> -- 
> Simon Morris
> simon.morris at penguinit.com
> 
> 
> -- 
> Gllug mailing list  -  Gllug at linux.co.uk
> http://list.ftech.net/mailman/listinfo/gllug
> 


-- 
Gllug mailing list  -  Gllug at linux.co.uk
http://list.ftech.net/mailman/listinfo/gllug




More information about the GLLUG mailing list