2010-06-10 122 views
1

的中间添加一个字符串使用的.htaccess重写规则,我需要添加“Q =”上的任何URL的含有单词“imagecache”的.htaccess重写规则,在URL

因此该路径前如果网址是:

http://mysite.com/sites/default/files/imagecache/myimage.jpg 

...那么它真的会尝试:

http://mysite.com/?q=sites/default/files/imagecache/myimage.jpg 

但是,如果URL包含才会发生 “imagecache。”否则,它不会重写。

此外,只有在/sites/default/files/imagecache/myimage.jpg还不是现有的图像文件时才会发生这种情况。我相信我可以这样做使用:

RewriteCond %{REQUEST_FILENAME} !-f 

...对不对?这只是我无法弄清楚的第一部分。

+0

不Drupal的已经做到这一点?重写部分,我的意思是。 – Kevin 2010-06-10 00:13:39

+0

是的,但我有一个奇怪的问题,其中ImageCache的URL不是已经生成的图像返回404而不是生成图像...大概是由于服务器上发生了一些缓存事情。所以这是我试图解决这个问题。 – 2010-06-10 00:21:09

+0

这是在Imagecache可以生成图像之前处理请求的地方吗? – Kevin 2010-06-10 00:26:19

回答

1

像这样的事情?:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*imagecache.*)$ /?q=$1 [L,QSA] 
0
RewriteRule ^mysite.com/(.*)/imagecache/(.*)$ mysite.com/?q=$1/imagecache/$2