CakePHP(2.0)动态URLs
我目前正在研究CakePHP 2.0,并希望将旧的1.3项目转换为2.0.我将从从头开始,因为项目中有很多代码可能会好很多. 其中之一是动态URL,项目多语言,甚至URL都会变为所选语言.例如: 英语:/pages/new-article 荷兰语:/paginas/nieuw-artikel 两者都将转到PagesController::display(); 注意:URL可以更长的时间,页面可以具有子页面,并且这些网址也会添加到URL中.例如:/pages/new-article/article-subpage 现在,我以前这样做的方式是有一条通往特定动作的路线.喜欢 *去PagesController::index(); 但是,这似乎减慢了应用程序的速度,并且带来了很多问题. 所以我对你的问题是,有什么简单的方法可以做到吗? 我不想进行硬码,我应该能够将/pages/article更改为/page/article而无需更改代码. 注
0 2023-06-02
编程技术问答社区
如何在Codeigniter中做分类?
我存储了帖子所属的类别,我想在URL中使用它们.我该如何动态执行此操作? 例如,我想生成一个URL,例如example.com/action-adventure/post-name. 我想这会涉及routes.php,但我只是不知道该如何动态地做. 解决方案 这可能是有问题的,请考虑: $route['(:any)'] = 'blog/post/$1'; $route['(:any)/(:any)'] = 'blog/post_category/$1/$2'; - $route['(:any)'] = 'category/$1'; 博客/帖子在这里将有优先级,因此命名约定成为一个问题/不 我建议您提前构建您的链接 public function post_category($type, $post_name){} 其他解决方案 另一种方法(不弄乱路线)是抓住URI段.您的URL看起来像 http://example.com/
0 2023-06-02
编程技术问答社区
如何用路由调用子文件夹控制器 CodeIgniter
我正在使用Codeigniter框架.我的控制器文件夹中有文件: - Controllers --- admin.php - Admin Controller --- /Admin - Admin Folder ----- category.php - Category Controller in Admin folder. url:mysite.com/index.php/admin/category说找不到该页面,因为它试图调用admin控制器的category函数,但我希望它调用Admin中category控制器的index函数文件夹. 也我正在使用admin控制器进行创建,编辑等.admin控制器的功能,例如mysite.com/index.php/admin/create. 我认为,我应该在配置文件中使用$route数组.我应该使用什么路由? 解决方案 这是CI核心的默认行为.请参阅system/core/Router.php in sys
0 2023-06-02
编程技术问答社区
Codeigniter Routing--用得太多了?
我是Codeigniter的新手,我正在尝试通过将旧站点转换为CI来习惯它. 我很难理解的一件事是路由.如果我不想拥有我的URL结构,例如/控制器/方法/ID,则必须将其更改为rutes.php中的$route['controller/(:num)'] = "controller/method/$1";之类的东西.对我来说似乎效率低下,我还应该做其他事情吗? 例如,在我的网站上,URL为/game/4242和/player/somedude 解决方案 好吧,路由是有效的 - 替代方案是重新启动您的控制器. 让我们看一下两种可能性. 一个虚构的兴趣: 稍后,您想允许您的用户在个人资料上显示徽章/奖牌/成就/某些内容. 通过路由,您可以这样实现: $route['player/(:any)/(:any)'] = "player/show_$2/$1"; $route['player/(:any)'] = "player/show_profile/$1"
0 2023-06-02
编程技术问答社区
AltoRouter发送MIME类型
我正在使用AltoRouter将我的URL路由到正确的文件.现在基本上是在这里,我已经描述了我的问题. 在一页上,我包含一个警报,由Bootstrap进行了样式. 它被定义为简单: $('#wrongPasswordDiv').html(' Falsches Passwort. Bitte erneut versuchen!'); 此外,还包括Bootstrap CSS文件: bootstrapcss使用AltoRouter和此代码线路路由到正确的CSS文件: $router->map('GET','/bootstrapcss','vendor/twbs/bootstrap/dist
0 2023-06-02
编程技术问答社区
如何匹配PHP中数组中的数字
我正在使用PHP应用程序中的路由或URI.目前,我有一个带有正则=> URL图的数组... 'modules/users/friends/page-$1', 'users/friends/' => 'modules/users/friends/', 'users/online' => 'modules/users/online/' , 'users/online/page-(\d+)' => 'modules/users/online/page-$1', 'users/create' => 'modules/users/create', 'users/settings' => 'modules
0 2023-06-02
编程技术问答社区
yii2 URL规则,带有类型数组的命名参数
如何使用类型数组的命名参数创建一个URL规则? 现在我有这个,工作: 'urlManager' => [ 'rules' => [ 'page/' => 'cms/page/view', ], ], 映射'page/Welcome'到module=cms,controller=page,action=view,param $id=welcome 现在,我想拥有这样的URL,并具有可变数量的文件夹零件: /page/folder1/folder2/.../folderN/pagefile 进行操作: function actionPage(array $folders, string $id) { // expecting: // $folders == [ 'folder1', 'folder2', ..., 'folderN'] //
4 2023-06-02
编程技术问答社区
纤细框架的路由问题
我才刚开始苗条.我目前的应用是这样的: true ]); var_dump($app->request()); $app->get('/:name', function ($name) { echo "Hello, $name"; }); $app->get('/', function () { echo 'hello world'; }); $app->run(); 我正在使用内置的Web服务器上的PHP在Localhost上运行它.对于我在浏览器(或Postman或Curl)中尝试的每个请求,我得到的总是" Hello World",就好像不考虑第一条路线一样.此外,如果我删除第二个路线,我总是会得到404. 我忘记了什么吗? 用于调试目的,Slim使用哪个HTTP标头来确定路线?
0 2023-06-02
编程技术问答社区
如何使用YII框架从URL隐藏USER_ID?
我正在使用YII框架并具有不同的用户帐户.当我想查看用户4的查看页面时,我必须输入一个像www.mydomain.com/user/4的URL,以进行更新,我有www.mydomain.com/user/update/4. 是否有一种方法可以从URL行隐藏用户ID? 如何设置www.mydomain.com/user/username和www.mydomain.com/user/update/username的路线?我必须修改路线吗? 如果username包含 @符号? 解决方案 如果每个用户都有唯一的用户名,则可以描述一条未在config/main中放置此自定义路由规则的路由:config/main: 'urlManager' => array( 'rules' => array( 'user/' => 'users/view', ) ) \S+应接受"@".然后将该用户名传递给contro
0 2023-06-01
编程技术问答社区
管理面板的htaccess重写规则
我在Web应用程序中具有这样的URL模式,例如" www.mysitename.com/foldername/controller/method ". 所有请求的页面都将重定向到root文件夹上的index.php,然后处理请求的页面. 但是每当我去管理面板( www.mysitename.com/admin )时,URL将"管理员"作为文件夹名称,并向我显示admin的index.php(那是正常的这样)然后使用 ControlerName 或 methotName 它不会通过admin文件夹的index.php重定向. 我想要这种模式中的URL" www.mysitename.com/admin/foldername/controller/method ",每当我访问" admin"时.以及全部 首先,应将通过管理员的请求页面重定向到管理文件夹上的index.php. 这是我的htaccess文件 - Options -Indexes RewriteEn
0 2023-06-01
编程技术问答社区
PHP中基于开关的URL路由
我目前正在做的是: 我有一个$path变量,这是 index.php/(我用.htaccess隐藏的)之后的所有内容,直到一个问号以忽略Querystring. 然后,我在该变量上使用switch switch switch来确定应调用的脚本.例如: switch (true) { case preg_match('{products/view/(?P\d+)/?}', $path, $params): require 'view_product.php'; break; ... default: require '404.php'; break; } 这样,我只需使用$params['id']即可访问产品ID,如果需要,请使用Querystring进行过滤,分页等. 这种方法有什么问题吗? 解决方案 您不应该使用switch. 最好使用数组和foreach喜欢: $rules
2 2023-06-01
编程技术问答社区
在CodeIgniter中,如何将cutom URL路由到自定义控制器?
我有一个带有名称User的PHP Codeigniter控制器,并具有获取用户user_detail($username) 的详细信息 现在,当我需要显示用户数据时,例如用户名mike 我称此URL 我的目标 如何通过下一个URL访问用户数据 http://www.example.com/user/user/mike 或/和 http://www.example.com/mike 解决方案 您必须阅读此application/config/routes.php 可能是这样的: $route['user/(:any)'] = "user/user_detail/$1"; 其他解决方案 这可以通过覆盖CI_Controller类来实现,但不要更改原始的核心文件,就像我说的覆盖控制器并将您的逻辑放入其中一样. help: 这不会覆盖其他控制器路由吗? 也许一个更容易的解决方案是在.htaccess 的Apache mod_rewri
0 2023-06-01
编程技术问答社区
登录后如何转发到正确的URL
我有一个网站,其中包含日志列表的网页. 现在,我通常会为某些用户提供访问该页面的链接 例如:一个> 现在,当某些用户点击此时.它会给他一个登录屏幕.但是登录后,它不会转到目的的页面.我正在使用会话来实施该网站,并且它有许多页面,因此会话用于跟踪浏览页面的用户. 请让我知道如何在用户登录后重定向询问的URL. 解决方案 将用户在会话中访问的URL重定向到登录页面之前.然后,登录页面可以在身份验证用户后将其重定向到该存储的URL. 在需要登录的页面上: session_start(); $_SESSION['after_login'] = $_SERVER['REQUEST_URI']; header("Location: login.php"); 在登录页面上: session_start(); if (user has entered correct username and password) { header("Location: h
0 2023-06-01
编程技术问答社区
如何在cakephp requestAction中传递参数?
有人可以告诉我,如何通过cakephp $ this-> requestAction(...)中的论点? 解决方案 requestAction(string $url, array $options) 此功能从任何位置调用控制器的操作,并从操作中返回数据. $ URL通过的是蛋糕php-pallative URL (/controllername/actionname/params).将额外的数据传递到接收控制器操作添加到$选项数组中. # echo $this->requestAction('/articles/view/5'); 其他解决方案 尝试以这种方式: $url = Router::url(array( 'controller' => 'Foo', 'action' => 'edit', 3 )); $this->requestAction($url);
0 2023-06-01
编程技术问答社区
在同一个CodeIgniter 2.x应用程序上使用多个数据库,以及URI路由的问题
我正在研究一个小型Web应用程序.在我的应用程序中,我遵循以下方法. 系统的小概述 该应用程序将托管在服务器上(www.example.com) Microsoft,Cocacola,IBM ....等客户将注册.客户将使用这样的URL访问应用程序(www.example.com/ibm) 每个客户将拥有单独的数据库来存储其数据. 如果客户的员工想登录系统,则URL模式应如下: (www.example.com/ibm/user/login) IBM-是客户 用户 - 是控制器 登录 - 是用户控制器的方法 如何实现这一目标? 解决方案 感谢Sundar的建议. 我们只能通过Codeigniter核心的Little Hack来实现这一目标. 打开系统/core/router.php在您的文本编辑器中. 转到行号264 ....函数_validate_request($ segments) 用$ semgments [1]替换$ s
0 2023-06-01
编程技术问答社区
如何使用Slim在所有REST URI中接受排序和分页参数?
我正在使用Slim PHP框架为我的应用程序创建一个RESTFUL API.我希望所有URL能够接受分类和分页的参数.有人可以告诉我最好的方法吗? 另外,有人可以为我提供一些适当的休息尿吗? (I.E. ?sort = desc&result = 25&page = 2 ) get('/wines', function () use ($app) { $sort = $app->request()->params('sort'); $results = $app->request()->params('results'); $page = $app->request()->params('page'); getWines(); }); $app->get(
0 2023-06-01
编程技术问答社区
Codeigniter:将所有不符合控制器名称的请求发送到默认控制器。
我正在从事一个涉及两种URL的项目,一个遵循标准CI模式 http://fancysite.com/controller/ 和另一个介绍以下方案: http://fancysite.com/category 我希望第二个以category为参数调用默认控制器的handlecategory(或类似的东西)函数. 奖励爱如果您还可以告诉我如何让URL等URL,例如 http://place.fancysite.com/place.com/place.com/a>将同一函数调用仅通过place作为参数,如果没有类别遵循该URL,或者place和category>如果这样做. 附加数据:我已经知道所有控制器,位置,类别的名称. 解决方案 您可以使用Codeigniter的 uri路由来实现这一点 - 将其插入路由文件的末尾 - $route[':any'] = 'path of the default controller'; 所有其他路线都应
0 2023-05-31
编程技术问答社区
在Wordpress中实现简单的动态路由
假设我有一个干净的WordPress安装,具有基本的自定义主题. 在该主题中,我有一个自定义页面模板,它只是一个iframe,该模板指向另一个域上的WebApp. 所以假设可以通过 http://example.com 与我的WordPress安装位于 http://example.com/members/. 我现在想添加动态路线,因此所有请求都向 http://example.com/members.com/members/login 或 http://example.com/members/members/event/1 (用于示例)全部转到 http://example.com/members/,但通过路线的第二部分( "/登录"或"/event/1")到内部的iframe. 而不必闯入WordPress的内部内容,将是最佳完成此操作的最佳方法? 我找到了这个插件:谢谢您的阅读. 解决方案 我设法为我的问题找到了解决方案,这要归功于Fencer
0 2023-05-31
编程技术问答社区
类别树的路由
我正在使用/cat/subcat1/subcat2/subcat3 我可以在 之类的路由下进行操作 /{cat} /{cat}/{subcat} /{cat}/{subcat}/{subcat2) etc... 但是有一种更优雅,更一般的实施方式吗?可以接受无限级级别的系统? 解决方案 您能做的就是接受路由参数中的斜线(仅适用于此路线).它涉及您不能排队任何其他参数,因为斜线分隔符将被视为类别参数的一部分... 因此,如何在路由参数中管理斜线: _hello: pattern: /category/{category} defaults: { _controller: AcmeDemoBundle:Demo:category } requirements: category: ".+" 调用/category/cat1/sub1/sub2将用'Cat1/sub1/sub2'为$类别参数调用DemoControl
0 2023-05-31
编程技术问答社区
PHP Codeigniter中的URL路由
我的路线上的条目如 - $route['admin/students'] = 'view_student'.这里的View_student是控制器名称.现在,当我调用Students的" localhost/school/admin"页面中,一切正常.但是,当我像 - $route['/school/admin/students'] = 'view_student'那样更改路线时,并将其称为Students的" Localhost/School/Admin"页面,而不是404页.这里怎么了? 解决方案 尝试此代码可能会帮助您: 这里的仪表板是控制器的名称 //this will route as localhost/appFolder/admin/index $route['admin'] = 'dashboard'; // for
2 2023-05-31
编程技术问答社区