Re: Re: UrlRewrite htaccess confusion

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

 



On Thu, 2009-10-29 at 11:26 -0400, Rob Gould wrote:

> You are indeed correct!  Absolute URLs for everything, images, css,  
> javascript, and links fixed the issue.  Took me forever to change  
> every link in the whole site, but it's happy now.  Seems like there  
> ought to be an easier way.
> 
> 
> On Oct 29, 2009, at 10:52 AM, Shawn McKenzie wrote:
> 
> > Rob Gould wrote:
> >> I feel like I'm really close to a solution for the clean-url method  
> >> in
> >> htaccess.  I've successfully got it now so that:
> >>
> >> http://benchwarmersports.com/packages/basketball/2010/nba-all-star-game
> >>
> >> maps to:
> >>
> >> http://benchwarmersports.com/packages.php?category=basketball&year=2010&title=nba-all-star-game
> >>
> >>
> >> However, I'm finding that when I click on subsequent links from:
> >>
> >> http://benchwarmersports.com/packages/basketball/2010/nba-all-star-game
> >>
> >> that I land in a strange url-structure where it replicates the  
> >> packages
> >> part of the url.
> >>
> >> Can someone tell me what I might need to change about my rewrite  
> >> logic
> >> to fix this issue?  I'm getting lost in the world of base urls and
> >> recursive rewrites...
> >>
> >
> > It's hard to tell without seeing the link and/or what code you use to
> > generate it, but off the top of my head I would say that it's not a
> > rewrite issue.  It seems to be an issue with using relative URLs in  
> > your
> > links.  If you are on this page (this is in your browser address bar):
> > http://benchwarmersports.com/packages.php?category=basketball&year=2010&title=nba-all-star-game
> >
> > The browser will interpret all relative links like 'somefile.php' as:
> > http://benchwarmersports.com/somefile.php
> >
> > But if you use your rewritten URL, then the browser will see relative
> > links as one of the following (not sure which without testing):
> >
> > http://benchwarmersports.com/packages/basketball/2010/nba-all-star-game/somefile.php
> >
> > --or--
> >
> > http://benchwarmersports.com/packages/basketball/2010/somefile.php
> >
> > This is because it is interpreting the slashes as path separators.   
> > You
> > probably need to generate absolute URLs in your links.
> >
> > -- 
> > Thanks!
> > -Shawn
> > http://www.spidean.com
> 
> 


There is, use the <base> tag in your HTML. Don't forget that while
you're rewriting the URLs, all the work is being done server-side. The
browser thinks that the location of the document it is being served is
in the path that the user typed into the location bar, so all relative
links are relative to that.

Thanks,
Ash
http://www.ashleysheridan.co.uk



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux