gpt4 book ai didi

php - 我如何路由到 app/webroot 文件夹? (CakePHP)

转载 作者:行者123 更新时间:2023-12-02 22:05:08 25 4
gpt4 key购买 nike

如果我在浏览器中输入:“http://examplepage.com/gallery/examplecagegory/1-test-picture.jpg”。

进入网络根目录:"app/webroot/gallery/pictures/1.jpg"

我试过:

Router::connect('/gallery/:slug_category/:id-:slug.:extension',
array('webroot/gallery/pictures'),
array(
'pass' => array('id', 'slug'),
'id' => '[0-9]+'
)
);

但我卡在了第二排... :-/

最佳答案

这不是你可以用路由来做的事情,因为the book状态:

Routing is a feature that maps URLs to controller actions.

图像资源不是 Controller 操作。您应该只在 app/webroot 的 .htaccess 文件中使用普通的 RewriteRule 来重写所有调用。像这样的东西应该可以解决问题:

RewriteRule ^gallery/[a-z]+/([0-9]+)-[a-z-]+\.([a-z]{3})$ /gallery/pictures/$1.$2

请注意 HtmlHelper 默认在 app/webroot/images 文件夹中搜索图像,因此您需要使用绝对 URL(在所有图像调用前加上前导斜线)使用您重写的路径,例如这将不起作用:

$this->Html->image('gallery/examplecategory/1-test-picture.jpg');

你应该改用这个:

$this->Html->image('/gallery/examplecategory/1-test-picture.jpg');

关于php - 我如何路由到 app/webroot 文件夹? (CakePHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16254914/

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