自适应图像的CakePHP的htaccess(Adaptive images CakePHP hta

2019-07-20 14:53发布

我试图让马特威尔科克斯自适应图像没有成功使用CakePHP工作。 http://adaptive-images.com/

CakePHP附带它自己的三个.htaccess文件。 在/ ,一个在/app/和一个在/app/webroot/

我需要这四个文件,在图像的请求被发送到我已经把根文件自适应images.php这样的方式一起工作。

这是从自适应图像htaccess的

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    # Adaptive-Images -----------------------------------------------------------------------------------

    # Add any directories you wish to omit from the Adaptive-Images process on a new line, as follows:
    # RewriteCond %{REQUEST_URI} !some-directory
    # RewriteCond %{REQUEST_URI} !another-directory

    RewriteCond %{REQUEST_URI} !assets

    # Send any GIF, JPG, or PNG request that IS NOT stored inside one of the above directories
    # to adaptive-images.php so we can select appropriately sized versions
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

    # END Adaptive-Images -------------------------------------------------------------------------------
</IfModule>

这是从根/蛋糕htaccess的

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

这是从/应用/ htaccess的蛋糕

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule    ^$    webroot/    [L]
    RewriteRule    (.*) webroot/$1    [L]
</IfModule>

这是从/应用程序/ webroot的蛋糕的htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

我想从自适应图像规则有先来的文件之一,并可能为去年规定不能添加[L]。 但唯一的事情我已经成功地完成至今更是打破了路径图像/img/myimage.gif使蛋糕开始寻找一个替代ImgController。

在Apache日志不给我任何有价值的东西。

有什么建议?

编辑:目前看起来是这样的

我修改/ - htaccess的,现在看起来像下面。 蛋糕给我一个错误有关缺失ImgController并在自适应图像应该把它们放在AI-缓存文件夹中创建无图像。

<IfModule mod_rewrite.c>
   Options +FollowSymlinks
   RewriteEngine on

    RewriteCond %{REQUEST_URI} !assets
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php

   RewriteCond %{REQUEST_URI} !adaptive-images\.php [NC]
   RewriteRule    ^$ app/webroot/    [L]
   RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

Answer 1:

好吧,我得到它的工作即使它也许不是最优化的解决方案存在。

我只是改变了htaccess的在/app/webroot -folder像下面

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On

    RewriteCond %{REQUEST_URI} !debug_kit
    RewriteRule \.(?:jpe?g|gif|png)$ adaptive-images.php [L]

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

并且增加了自适应images.php文件, app/webroot这或许会是更好有在供应商目录中的自适应images.php文件,但至少它的工作原理。

我做的自适应images.php两个转变

$cache_path    = "app/tmp/cache/ai-cache";
$source_file    = $document_root.'/app/webroot'.$requested_uri;


文章来源: Adaptive images CakePHP htaccess