View Ticket
Not logged in
Ticket UUID: 6cd35b3ca5b47cbd524787a9ea78809287504b0f
Title: self referring links determined wrong in cgi mode
Status: Closed Type: Code_Defect
Severity: Priority:
Subsystem: Resolution: Rejected
Last Modified: 2008-12-03 14:44:05
Version Found In: dec2c22d9d
Description & Comments:
In cases where the cgi is called called by a handler and not directly in the url fossil generates ugly links. you can see an example of this at http://roxirc.lighter.net/. suggest using REQUEST_URI rather than SCRIPT_NAME

drh added on 2008-11-26 02:09:52:
I looked at http://roxirc.lighter.net/ but I didn't find any ugly links, at least not links that I think are ugly. Perhaps you could provide some example of the ugly links you have in mind and your suggested improvements.


kkinnell added on 2008-12-01 15:23:02:
RockShoxBugs has this listed & struck; the bug is not visible at the given URL. I believe this can be closed.


anonymous claiming to be rockshox added on 2008-12-02 18:43:17:
sorry i couldnt get back to you sooner. please take another look at http://roxirc.lighter.net you will notice there is no cgi in the url, but all the links have fossil.cgi in them. if you click any link and then remove the fossil.cgi the page still works fine. the apache config for this is:

DirectoryIndex home

<Location "/fossil.cgi"> SetHandler None </Location>


anonymous added on 2008-12-02 18:44:07:
i forgot 2 lines

Action fossil /fossil.cgi SetHandler fossil

drh added on 2008-12-03 14:44:05:
According to rfc3876, REQUEST_URI is not a part of the Common Gateway Interface (CGI) specification. SCRIPT_NAME is what should be used to create self-referential hyperlinks.

Everything works correctly as currently implemented. You are asking for a change that will make URLs more cosmetically appealing when using fossil under a particular configuration of Apache. Cosmetics are nice. But everything works now. And to implement this change would probably break other configurations. I think it is much better to confirm to standards and work across all platforms than to try to make the URLs a little shorter when using certain configurations of Apache.

Apache is widely used, but it is not universal. The main fossil website is an example of a website that does not use Apache. www.fossil-scm.org uses a single-file webserver dispatched using inetd and called althttpd.