Hi,
sfatula:
I don't believe it is broken at all, it's certainly not self installed or built, it's the OS supplied installation.
Not to be [too! ;)] weird, and going slightly off topic, but I've a very low opinion of the qualty of most software, whether closed or open source, and have had enough of poorly made Linux insallations to last me 1000 years. Including official commercial releases from the world's largest software companies (in which I've found serious bugs).
And no, I don't rate my own software releases very highly either, at least not the stuff since the Amiga days. ;)
sfatula:
If you search the net for php_self and mod_rewrite, or, read the apache issue I gave you a link to, I am not the only one. (though that was not Ceon specific). On that link, you will see the behaviour is different between using .htccess or not based on different test results.
I did look at it and consider incompatibilites between PHP and Apache etc. to be a "broken" setup, whether on a "fresh" OS installation or not. Of course everyone's definitions differ! :)
sfatula:
However, I can't tell you specifically what combination of stuff may cause it, so, I am sure you're right that no one else may have the issue (whio is using this mod), it must be some specific circumstance.
I don't know how the other mods work but given everything you've said my gut feeling is nnoe of them use the PHP_SELF variable so the issue donesn't show with them.
As I said, I could have the code for checking PHP_SELF wrong but from everything I've read the .php of the index.php should be matchable. When it's not, my code attempts to build the value from DOCUMENT_ROOT or SCRIPT_NAME etc.
sfatula:
In the end, it is working. So, I suppose it's not a Frequently asked question! Here's hoping my post will help someone else though with the debugging.
Thanks, hopefully it does. As I said though, with the corrupt value returned by your die statement, the "correct" value should have been bult. If you send me FTP and admin details for your site I can check to see why the correct value wasn't subsequently built when Ceon URI Mapping would have identified a problem with the supplied value.
sfatula:
How does this perform with say 50,000 products? It appears the table ceon_uri_mappings has no primary key?
Try it and see. :) The software was tested with 24,000 products when being built and I know people have used it with many more. The primary focus of the software is not speed but flexibility so it is not optimised for sites as large as that, but you do have options..
One of which is to throw hardware at it if you feel that's necessary (a perfectly fine policy in this day and age)...
sfatula:
And the searches seems to be on URI. This implies a serial read?
The other is that the software was specifically written to allow the use of subclasses optimised for speed..
The idea is that you can simply override the appropriate database lookup and storage methods to reorganise the way the URIs are stored and matched, for example putting all historical URIs in their own table (or yearly tables if there are loads), as they are "less likely" to ever be used as time goe on, so you could optimise the size of the "current" URIs database without having to optimise lookup code etc.
This override system is how the UMM supports templates for URI mappings.. I never got round to writing subclasses for speed, no-one's ever complained about the speed enough that they wanted me to bother! Which is good I suppose. :)
Hope that helps.. as I said, I can try debugging your server setup if you have a way for me to connect.
It's unlikely to be in the next day or two though as I'm writing this from a hospital bed.
All the best..
Conor
ceon
NOTE: We are sorry that Conor is no longer with us.
We are grateful for all his contributions to the Zen Cart community.