gpt4 book ai didi

php - 将对不存在图像的请求重写到调整大小 Controller

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:46 25 4
gpt4 key购买 nike

我在/CIAppScaffolding/public/upload/中有我的图像,并希望即时将它们调整为一些固定大小。

为此,我制作了一个 Controller Resize,方法是 index 来调整大小。

public function index($location = '', $size = '', $image = '') {
//Resizing code here
}

现在,为了仅重写对不存在的图像的请求,我编写了以下重写规则,这些规则似乎从 PATH_TRANSLATED 中删除了 CIAppScaffolding,然后我得到404(通过 Codeigniter)。

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /CIAppScaffolding/

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>

编辑:
现在,我采用了以下可行的方法,但这也应该只使用 .htaccess 重写规则。

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

最佳答案

我尝试在 Codeigniter 3 中使用以下在 htaccess 中编写的代码

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /ci-admin/

RewriteCond %{DOCUMENT_ROOT}/ci-admin/assets/uploads/%{REQUEST_FILENAME} !-f
RewriteRule ^assets/uploads/(large|catalog|AdminUser)/([^/]+\.jpg|\.png|\.jpeg)$ index.php/resize/index/$1/$2 [L]

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

打印服务器变量后我发现了什么:

[REQUEST_URI] => /ci-admin/assets/uploads/AdminUser/IMG_20140623_2047229.jpg
[SCRIPT_NAME] => /ci-admin/index.php
[PATH_INFO] => /resize/index/AdminUser/IMG_20140623_2047229.jpg
[PATH_TRANSLATED] => D:\wamp\www\resize\index\AdminUser\IMG_20140623_2047229.jpg
[PHP_SELF] => /ci-admin/index.php/resize/index/AdminUser/IMG_20140623_2047229.jpg

除了 CodeIgniter 本身以不同方式解释“[PATH_TRANSLATED]”或覆盖我们的 htaccess 规则外,所有规则都工作正常,因此它抛出 404 错误。

我们需要了解 CI 如何处理此类请求。仍在调试我们缺少的地方。

如果您发现任何成功,请告诉我。

关于php - 将对不存在图像的请求重写到调整大小 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43435452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com