Welcome Guest, Not a member yet? Register   Sign In
Apache Rewrite if image doesn't exist
#1

(This post was last modified: 04-16-2017, 02:48 AM by RBX. Edit Reason: Fixed a mistake in the regular expression )

I have a resize controller with method named index which performs the resizing.

PHP Code:
public function index($location ''$size ''$image '') {
 
  //Some code here



I want to rewrite requests for images which don't exist to this function, but can't seem to get it to work.

Code:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^public/upload/([a-z]+)/(large|catalog|thumb)/([^/]+\.(?:jpg|png|jpeg))$ index.php/resize/index/$1/$2/$3 [L]

RewriteCond $1 !^(index\.php|public|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
</IfModule>


I really have no experience in writing such rules, any help would be appreciated.

Edit:
I was running it from folder CIAppScaffolding, so I needed to add RewriteBase /CIAppScaffolding/

Edit: It worked, but for some reason, seems to have stopped working. I'm confused.
Edit: I think it didn't work, I must've hit the URL of a previously generated image. So back to the original question.
Reply
#2

I'm now using

PHP Code:
$route['^public/upload/([a-z]+)/(large|catalog|thumb|banner)/([^/]+\.(?:jpg|png|jpeg))$'] = 'resize/index/$1/$2/$3'


but this should be possible with just .htaccess rewrite rules, shouldn't it?
Reply




Theme © iAndrew 2016 - Forum software by © MyBB