php - Bypass other .htaccess files after RewriteRule -


the problem facing related cakephp , explain in context mod_rewrite issue:

in cakephp, requests routed /app/webroot directory. in directory, have directory called assets in user-uploaded files stored. want able serve thumbnails every image in folder, , want auto-generate , cache them on first request.

to that, have .htaccess file in assets directory, supposed route requests start thumbs/ phpthumb script. put said script assets directory , work fine. but:

  1. i want avoid file bloat (as there can multiple resolution thumbnails , on) , therefore rather store thumbnails in /app/tmp directory,
  2. the whole thing part of cakephp plugin developing, neat if script stay in plugin's folder.

what have tried (inside /app/webroot/assets directory):

rewritecond %{request_filename} !-d rewritecond %{request_filename} !-f rewriterule ^thumbs\/([^\/]*)\/(.*)$ ../../plugin/myplugin/lib/thumbnail.php?size=$1&path=$2 [qsa,l,s=2] 

now doesn't work. problem .htaccess files in /app , /app/webroot route /app/webroot/index.php (or physical file in webroot). s flag seems apply rules in same file.

i change files allow thumbnail.php said, part of plugin , prefer keep configuration-less possible.

so question: there way bypass/disable other rewrite rules after 1 in /app/webroot/assets/.htaccess applied?

problems

there 2 big-ish problems in code in question:

  1. mixing mod rewrite with, frontcontroller-style php code
  2. trying route php file supposed inaccessible

the php file supposed web accessible production cakephp application webroot/index.php

create controller action

the right way you're asking create route , controller action:

route:

<?php // app/config/routes.php router::connect(     '/thumbs/*,      array('controller' => 'thumbs', 'action' => 'serve') ); 

controller:

<?php // app/controller/thumbscontroller.php class thumbscontroller extends appcontroller {      function serve() {         // resize file,          //(preferably write request uri)          //and serve image     } } 

the controller action can use send-file (or media views in older versions) send file contents after resizing.

cache in web-accessible path

note serving files php is slow:

it’s known fact serving assets through php guaranteed slower serving assets without invoking php.

if @ possible, make sure request thumb image processed , written same url request (or different location, appropriate edit .htaccess file - here's example) next time same image requested - served directly via apache. if caching technique implemented in form whereby php part of request cached image - caching not going particularly effective.


Comments

Popular posts from this blog

java - activate/deactivate sonar maven plugin by profile? -

python - TypeError: can only concatenate tuple (not "float") to tuple -

java - What is the difference between String. and String.this. ? -