Hi Miguel, Thanks for that that's most helpful. Actually I got the other rules working by simply changing the redirect to $1 (for rule 2) to static content, actually when I say "I" I mean a helpful chap called Oleg from the vBSEO team. Since the Cherokee admin interface generates a new password each run (and my site is not productive) I was able to give him temporary access confident that there was no way he could re-enter once I killed the process. I hadn't thought of that advantage to cherokee-admin, could be good for troubleshooting in environments where some support staff aren't allow permanent PROD access.
I think I'll update my rules to match the ones below since they are more complete, I hadn't considered newpost/newthread either and I clearly need rules for that. I'll see if I can figure it out myself since I need to learn this stuff and come back to if you get stuck :-) I'm using xCache at the moment, although I haven't benchmarked it against eAccelerator yet, I'm not sure if there are any strong advantages to either, is there a reason you choose eAccelerator? Best Regards, Tom 2008/11/4 Miguel Angel <[EMAIL PROTECTED]>: > Hi Tom :) > > I was on the same point some months ago, and I got it working with good > results, anyway > the rules still can be improved (I'll tell you how). > > Vbseo is quit clean/smart solution, but a little bit tricky: it passes > all requests through vbseo.php > to filter out the HTML output and generate a clean one. That's cpu > intensive, so I recomend you cherokee > + eAccelerator (or some similar byte compiling accelerator) > > Those are mines: > > # first.... static directories are served directly (without passing by > vbseo.php) for faster response <some are missing> > > vserver!30!rule!1400!handler = file > vserver!30!rule!1400!handler!iocache = 1 > vserver!30!rule!1400!match = directory > vserver!30!rule!1400!match!directory = /customavatars > vserver!30!rule!1400!match!final = 1 > vserver!30!rule!1400!only_secure = 0 > vserver!30!rule!1300!handler = file > vserver!30!rule!1300!match = directory > vserver!30!rule!1300!match!directory = /images > vserver!30!rule!1300!match!final = 1 > vserver!30!rule!1200!handler = file > vserver!30!rule!1200!match = directory > vserver!30!rule!1200!match!directory = /cpstyles > vserver!30!rule!1200!match!final = 1 > vserver!30!rule!1100!handler = file > vserver!30!rule!1100!match = directory > vserver!30!rule!1100!match!directory = /clientscript > vserver!30!rule!1100!match!final = 1 > vserver!30!rule!1000!handler = redir > > # inline moderation (**** ---> read at the end) > > vserver!30!rule!1000!handler = redir > vserver!30!rule!1000!handler!rewrite!1!regex = ^/inlinemod.php\?(.*)$ > vserver!30!rule!1000!handler!rewrite!1!show = 0 > vserver!30!rule!1000!handler!rewrite!1!substring = > /vbseo.php?vbseourl=inlinemod.php&$1 > vserver!30!rule!1000!match = request > vserver!30!rule!1000!match!request = ^/inlinemod.php\?(.*)$ > vserver!30!rule!1000!only_secure = 0 > > # the default php handler (it will catch any .php file without passing by > vbseo.php) > > vserver!30!rule!900!handler = fcgi > vserver!30!rule!900!handler!balancer = round_robin > vserver!30!rule!900!handler!balancer!source!1 = 1 > vserver!30!rule!900!handler!change_user = 33 > vserver!30!rule!900!handler!check_file = 1 > vserver!30!rule!900!handler!error_handler = 1 > vserver!30!rule!900!handler!pass_req_headers = 0 > vserver!30!rule!900!handler!xsendfile = 0 > vserver!30!rule!900!match = extensions > vserver!30!rule!900!match!extensions = php > vserver!30!rule!900!match!final = 1 > vserver!30!rule!900!only_secure = 0 > > > # the dynamic content we don't want to "optimize", with their own static > files > > vserver!30!rule!800!handler = redir > vserver!30!rule!800!handler!rewrite!1!regex = ^/modcp/$ > vserver!30!rule!800!handler!rewrite!1!show = 1 > vserver!30!rule!800!handler!rewrite!1!substring = /modcp/index.php > vserver!30!rule!800!match = request > vserver!30!rule!800!match!final = 1 > vserver!30!rule!800!match!request = /modcp/ > vserver!30!rule!800!only_secure = 0 > > vserver!30!rule!700!handler = file > vserver!30!rule!700!match = directory > vserver!30!rule!700!match!directory = /modcp > vserver!30!rule!700!match!final = 1 > > vserver!30!rule!600!handler = redir > vserver!30!rule!600!handler!rewrite!2!regex = ^/admincp/$ > vserver!30!rule!600!handler!rewrite!2!show = 1 > vserver!30!rule!600!handler!rewrite!2!substring = /admincp/index.php > vserver!30!rule!600!match = request > vserver!30!rule!600!match!final = 1 > vserver!30!rule!600!match!request = /admincp/ > vserver!30!rule!600!only_secure = 0 > > vserver!30!rule!500!handler = file > vserver!30!rule!500!handler!iocache = 1 > vserver!30!rule!500!match = directory > vserver!30!rule!500!match!directory = /admincp > vserver!30!rule!500!match!final = 1 > vserver!30!rule!500!only_secure = 0 > > # the sitemaps (you can add also urllist.txt, that is used in yahoo) > > vserver!30!rule!400!handler = redir > vserver!30!rule!400!handler!rewrite!1!show = 0 > vserver!30!rule!400!handler!rewrite!1!substring = > /vbseo_sitemap/vbseo_getsitemap.php?sitemap=sitemap$1.xml$2 > vserver!30!rule!400!match = request > vserver!30!rule!400!match!final = 1 > vserver!30!rule!400!match!request = ^/sitemap(.*)\.xml(\.gz)?$ > vserver!30!rule!400!only_secure = 0 > > # any other query, with it's query string (after "?") we convert it to > /vbseo.php?vbseourl=$1&$2 > > vserver!30!rule!300!handler = redir > vserver!30!rule!300!handler!rewrite!1!regex = ^/(.+)\?(.*)$ > vserver!30!rule!300!handler!rewrite!1!show = 0 > vserver!30!rule!300!handler!rewrite!1!substring = /vbseo.php?vbseourl=$1&$2 > vserver!30!rule!300!match = request > vserver!30!rule!300!match!final = 1 > vserver!30!rule!300!match!request = ^/(.+)\?(.*)$ > vserver!30!rule!300!only_secure = 0 > > # any other query without query string (and without the .php) is passed by > vbseo.php > > vserver!30!rule!200!handler = redir > vserver!30!rule!200!handler!rewrite!1!regex = ^/(.+)$ > vserver!30!rule!200!handler!rewrite!1!show = 0 > vserver!30!rule!200!handler!rewrite!1!substring = /vbseo.php?vbseourl=$1 > vserver!30!rule!200!match = request > vserver!30!rule!200!match!final = 1 > vserver!30!rule!200!match!request = ^/(.+)$ > vserver!30!rule!200!only_secure = 0 > > # finally we have this one, which now I'm not sure why is it needed. > > vserver!30!rule!100!handler = common > vserver!30!rule!100!handler!iocache = 0 > vserver!30!rule!100!match = default > vserver!30!rule!100!match!final = 1 > > ########################################## > > ****** --> You can see, that I added the inlinemod.php before the .php > generic handler. Why? > Because the .php handler just under execute any .php without passing through > .php. > > Some files are missing there, and we should add them: newpost.php / > newthread.php. > They are important because when anybody makes a new post they're redirected > to the "pretty" url from > vbseo.php, but if we dont put them there they'll get an "old style" url, and > it's possible that they'll Copy&Paste > it to anywhere else :) > > > Please, let me know if you need some help on that :-) > > Cherokee + byte compiling accelerator is the good way, you'll get a x2 / x3 > speed increase on vbseo (really :) ) > > > 2008/11/3 Tom Peach <[EMAIL PROTECTED]> >> >> Hi All, >> I am launching a new forum soon running vBulletin with vBSEO. I really >> want to use Cherokee webserver since I find it considerably more >> "tidy" than nginx and Lighty. >> >> I'm struggling with rewrite rules for vBSEO. I know this has been >> discussed previously but I didn't see any positive conclusion of the >> thread. >> http://www.mail-archive.com/[email protected]/msg00038.html. >> >> So here we go, http://www.shootingthecheese.ch/, rewrites are working >> for me but for some reason images are not displaying. >> >> I've used the lighty rules as internal redirects (substitution) in the >> following order >> 1. "^/(sitemap.*\.(xml|txt)(\.gz)?)$" => >> "/vbseo_sitemap/vbseo_getsitemap.php?sitemap=$1", >> >> 2. "^(/(admincp|modcp|clientscript|cpstyles|images|customavatars)/.*)$" => >> "$1", >> >> 3. "^(/favicon\.ico|/robots\.txt|.*clear\.gif)$" => "$1", >> >> 4. "^/(.+)\?(.*)$" => "/vbseo.php?$2", >> >> 5. "^/(.+)$" => "/vbseo.php" >> >> If I remove rules 2 and 5 I get my images back but the rewrite for >> forums breaks (when I remove 5). As I understand (I'm a novice at >> this) rule 2 should basically rewrite the the URL as itself, this is >> the one that should make my images accessible! It's strange because >> the link to my admin cp works fine, but images don't. >> >> Do you have any idea what is wrong with these rules? Getting my images >> working is currently all that is standing between me and Cherokee :-( >> >> I've attached my cherokee.conf, any help or advice you can offer would >> be greatly appreciated. >> >> Best Regards, >> Tom >> >> _______________________________________________ >> Cherokee mailing list >> [email protected] >> http://lists.octality.com/listinfo/cherokee >> > > > > -- > Miguel Angel Ajo Pelayo > http://optimizacionweb.es > +34 91 120 1798 > +34 636 52 25 69 > skype: ajoajoajo > -- Tom Peach Haselrainstrasse 1 Uster 8610 Switzerland +41 78 919 4542 _______________________________________________ Cherokee mailing list [email protected] http://lists.octality.com/listinfo/cherokee
