【问题标题】:Shorten URLs within CodeIgniter在 CodeIgniter 中缩短 URL
【发布时间】:2013-08-20 18:48:07
【问题描述】:

这个问题已被问过几次,但我似乎找不到对我有帮助的解决方案,这就是我在这里尝试的原因。

我的站点设置为使用 CodeIgniter 的 URL,我有一个名为 user 的控制器,它加载用户视图。

所以我的网址结构如下:

http://example.com/user/#/username

我想尝试从 URL 中删除用户控制器以整理我的 URL,以便他们可以阅读:

http://example.com/#/username

这可能吗?我一直在寻找路线并尝试了很多不同的选项,但都没有奏效?

$route['/'] = "user";

谁能提供任何解决方案?

【问题讨论】:

    标签: codeigniter url routes


    【解决方案1】:

    假设您的 URL 中的 '#' 是一个有效的函数,而 'username' 是该函数的参数,那么这个 route 应该可以工作:

    $route['#/(:any)'] = "user/#/$1";
    

    根据要路由的用户名,您可能需要更改通配符。例如,如果您只想路由数字作为参数,您可以将(:any) 更改为(:num)

    (:num) 将匹配仅包含数字的段。

    (:any) 将匹配包含任何字符的段。

    您还可以使用正则表达式来定义routing 规则,从而进一步限制路由的内容。

    【讨论】:

    • 嗨 Lefters 感谢您的回复,如果我运行我收到错误消息:preg_match(): Unknown modifier '/' 任何可能给我该错误的原因
    • 对不起,哈希也是因为我使用的是 sammy.js
    • 不用担心。 URL 中的“用户名”是user 控制器中index 函数的参数吗?
    • 嗨 Lefters 不,url 中的用户名参数是由 sammy.js 通过 javascript 而不是 php 调用的。感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多