问题标签 [codeigniter-url]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mod-rewrite - 不包含 CodeIgniter CSS 文件
我的 CodeIgniter 安装有点奇怪,我使用 modrewrite 来缩短我的 URL,例如我有一个 api 页面:
而且效果非常好,我的 .htaccess 文件如下所示:
但真正奇怪的是,如果我输入一个斜杠:
API 页面加载正常,但它不包含所有页面中包含的 Base CSS 文件,如果它根本不加载任何东西会很好,但我需要阻止它加载实际的 api 页面。任何意见将是有益的,
谢谢!
更新:我发现当我查看源代码时,当 CSS 正确加载时,我的 CSS 文件来自以下内容:
但是当它无法加载它来自
php - 使用 Codeigniter 1.7.2 + HMVC 在日志中找不到 404 页面
我正在使用 Codeigniter 1.7.2 和 HMVC(https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home)。
我有这些文件,它们是根据 HMVC 组织的:
在 中routes.php
,我设置了一条路线:
如果 url 采用这种模式,一切正常:
http://www.mydomain.com/index.php/welcome
但现在我想从 url 中删除 index.php,所以我创建了 .htaccess 文件:
然后我将其设置$config['index_page']
为空:
现在我可以访问这个 url 模式的页面:
http://www.mydomain.com/welcome
虽然看起来一切正常,但我发现每次访问该页面时,都会在日志中生成 404 page not found 错误:
这不是特定于welcome
页面的,所有页面都有相同的问题。我深入研究了代码,发现这条404 Page Not Found
消息是由MX_Router.php
HMVC 附带的。具体来说,它来自这个函数:
调用的是 show_404() 函数,因此我收到了该错误消息。index.php
但是由于我可以使用已删除的 url 模式毫无问题地访问每个页面。
_validate_request()
为什么 HMVC 认为在这个函数中没有找到控制器?如果我恢复更改,我不会在日志中收到 404 错误消息,但这也意味着我必须继续使用 url 模式index.php
,这看起来很糟糕。
有人遇到过同样的问题吗?非常感谢你们。
php - Codeigniter 中的路由和 URI 解析
我在 CI 中定义了一条路线,
$route['user/activate-account/:any'] = "user/activate_account";
人们以这种 url 模式访问路由,
http://mydomain.com/user/activate-account/user_id/12345/token/abcdefghijk
在activate_account
函数内部,我尝试使用以下代码来检索所需的数据,
但是它们返回 FALSE,这是否意味着对于这种 url 模式,我应该使用 URI 类(http://codeigniter.com/user_guide/libraries/uri.html)提供的函数来检索变量?
codeigniter - 被找到但未找到的 CodeIgniter 控制器难住了
好吧,我承认。我是CI新手。我正在做一些非常基本的错误,我已经做了几个小时并且找不到我的错误。
我有一个名为登录的控制器。它在我的控制器文件夹中的资源文件夹中。它加载一个名为 login_form 的视图。但是对于我的生活,如果我去 domain.com/resources/login 或 domain.com/resources/index,它将不会加载。但我可以通过一条路线到达它:
即使我以这种方式进行操作,也找不到我的表单操作。这是我的表格:
路径是我的控制器文件夹中的资源文件夹,控制器是使用 validate_credentials 方法的登录控制器。这是我的登录控制器的相关部分:
index 函数在我使用路由时起作用,但在我使用上述 domain.com 路径时不起作用。我认为这就是它找不到 validate_credentials 方法的原因。我究竟做错了什么?
这是main.php
php - CodeIgniter 路由区别?
一个简单的问题,我似乎无法找到与 CI 中的路由有关的任何地方的答案 - 全局捕获所有之间是否有任何真正的区别:
和
我的路由没有任何问题,而且似乎工作方式相同,但只是想知道一种方法是否比另一种更好。
.htaccess - 代码点火器 - URL 重写
嘿,我正在尝试让一个项目工作,但我在重写模块时遇到了问题。
我在 Windows XP 上运行 Wamp。我更改了 httpd.conf 以将 localhost 的根更改为:
我有 htaccess
我的 Apache 已激活重写模块。
我在 config.php 中的 base_url() 是 routes.php 中的“ http://localhost/ ”
我有:
当我将浏览器指向http://localhost/时,我得到了我网站的主页,但是当我点击任何内部链接(如“our-recipes”)时,它会加载,但我得到的是相同的主页,新的 url 在位置栏。如果我尝试访问“ http://localhost/recipes ”,我会得到相同的结果。
这是我的文件夹结构:
谁能帮我解决这个问题??
php - 在 Codeigniter 中开发自定义 CMS 时如何处理路由
我是 Codeigniter 的新用户,正在开发一个简单的后端 CMS 来管理页面。
基于 URL(在本例中,我隐藏了“index.php”):mysite.com/pagename
我希望系统检测我的数据库中是否有“pagename”的值,如果有,我需要系统重新路由到自定义控制器(例如:Pagemaker),如果没有名为 pagename 的记录,只是做正常的事情(即找到一个名为 pagename 的控制器)
目前我有:
从而将所有请求转发到我的自定义函数。
但是,我想更改此结构,以便如果该页面在数据库中不存在,则遵循传统的 codeigniter 请求过程。
任何人都可以提供有关如何完成此任务的任何建议吗?或者关于在codeigniter中路由自定义CMS的任何建议?
php - 代码点火器路由
我目前正在为客户开发 CMS,并且我将使用 Codeigniter 来构建它,它只是一个快速项目,所以我不是在寻找一个强大的解决方案。
要创建页面,我将根据与 mysql 表中的 slug 匹配的 slug 保存页面详细信息并拉取正确的页面。
但是,我的问题是,为了使它起作用,我必须将这个 slug 从控制器的 URL 传递给模型,这意味着我在 URL 中也有我不想要的控制器是否可以删除来自带有路由的 URL 的控制器?
所以
/page/我们的故事
变成
/我们的故事
这可能吗
codeigniter - 从 Code Igniter URL 中取出 index.php
我对 Code Igniter 非常陌生(就像我刚刚完成了他们的“官方”视频教程一样),我想知道是否有一种方法可以稍微清理一下 URL。
基本上,是否有一些设置可以将“index.php”排除在 URL 之外?
所以代替这个...
...你看到这个:
还是我必须自己用 .htaccess 重写 URL?
php - Codeigniter:在不使用 $_GET 的情况下实现搜索过滤器
我有一个应用程序,其中包含一个名为项目的表,我希望能够在该表上进行搜索。我更喜欢使用现有的方法来调用模型来获取查询结果。所以我刚才的 URL 格式是 example.com/projects/id/slug,对于所有项目来说,只是 example.com/projects。我想要一个将关键字作为字符串传递给方法的搜索表单。
我知道 CI 默认不允许 $_GET :
来自 CodeIgniter 的安全手册:
GET、POST 和 COOKIE 数据
CodeIgniter 根本不允许 GET 数据,因为系统使用 URI 段而不是传统的 URL 查询字符串(除非您在配置文件中启用了查询字符串选项)。全局 GET 数组在系统初始化期间由 Input 类取消设置。
我的问题是如何以这种方式将 URI 段与多个关键字一起使用?
我可以做一些类似搜索/关键字+第二个关键字+第三个关键字的事情吗?
无论如何使用表单将关键字从文本框中获取到上述格式?
谢谢,
比利