Laravel 4 路由参数数量不受限制

2023-11-27

我正在尝试为无限数量的 URL 级别创建动态路由。

这是我当前的路线

Route::get('{pageLink}', array('uses' => 'SiteController@getPage'));

这适用于第一级。所以像something.com/foo/这样的URL就可以了。但如果我有类似something.com/foo/bar/ 的内容,它就无法捕获该 URL。我需要它来匹配无限的级别。这样,在我的控制器中,它将为我提供整个链接的变量。

我知道我能做到

Route::get('{pageLink}', array('uses' => 'SiteController@getPage'));
Route::get('{pageLink}/{pageLink2}', array('uses' => 'SiteController@getPage'));
Route::get('{pageLink}/{pageLink2}/{pageLink3}', array('uses' => 'SiteController@getPage'));

但这似乎有点矫枉过正。有没有更好的方法来做到这一点,以便它匹配 URL 的末尾?

Thanks.


你可以尝试这样的事情:

//routes.php
Route::get('{pageLink}/{otherLinks?}', 'SiteController@getPage')->where('otherLinks', '(.*)');

请记住将上述内容放在routes.php 文件的最后(底部),因为它就像“捕获所有”路由,因此您必须首先定义所有“更具体”的路由。

//controller 
class SiteController extends BaseController {

    public function getPage($pageLink, $otherLinks = null)
    {
        if($otherLinks) 
        {
            $otherLinks = explode('/', $otherLinks);
            //do stuff 
        }
    }

}

这种方法应该让您使用无限数量的参数,所以这似乎是您所需要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Laravel 4 路由参数数量不受限制 的相关文章

随机推荐

  • 更改 JPanel 及其所有元素的字体大小

    我正在尝试创建一个 Swing 面板 其元素的字体大小与 swing 应用程序的其余部分不同 最初 使用setFont对于几个组件来说没有造成任何问题 现在我有几个组件 及其所有子组件 所以这个解决方案是不切实际的 我搜索过有关更改 swi
  • .net 4.0 代码合同。什么时候使用?他们什么时候浪费时间了?

    我一直在研究 NET 4 0 代码契约 并在 stackoverflow 上查找与此相关的问题 我仍然从未遇到过任何使用代码契约的示例代码 这让我想知道 这真的有用吗 或者也许它是您的代码达到一定复杂性时唯一有用的一个 有人使用代码合约并且
  • 在 Wordpress 中处理序列化数据

    我在 WordPress 自定义字段中有以下序列化数据字符串 first string a 9 s 5 email s 13 email protected s 4 name s 15 Werner Etsebeth s 8 address
  • 无法从Listview的EditText获取值?

    我正在尝试从列表视图中的 EditText 获取数据 我看到了很多类似的问题并得到了solution 但它在我的实现中引发了 NPE 所以请指导我解决这个问题 Adapter public class Coscho adapter exte
  • Visual Studio Code - 可以对 python 进行实时 linting 吗?

    这里有同样的问题 但还没有任何答复 使用 VSCode 对 Python 进行实时 linting 我现在正在使用 VS code 市场上的 Python 扩展 经过大约一个小时的研究 我在 linter 中发现了以下选项 python l
  • 如何在 Eclipse 中将源附加到 Google Drive API 或“Android Private Library”

    我已经安装了驱动API使用Add Google APIs 菜单选项 当手动钻入下面的任何一个罐子时驱动API 源代码打开正常 但手动钻入同一个罐子下Android Private Libraries结果是 未找到源 所以使用时open De
  • 同名的变量和函数在块内返回错误

    如果我们声明一个变量和一个同名的函数 它接受重新声明 但是当我们在一个块内做同样的事情时 它显示重新声明错误 Code var x function x no error 但在这种情况下我收到错误 var inside re declara
  • Nightwatch 无法通过 css id 或类选择器定位元素

    我们使用 Nightwatch 来自动化一些 UI 测试 当前的一些测试相当脆弱 主要与奇怪的 CSS 选择器有关 我正在尝试简化它们 但我希望一些简单的 CSS 选择器能够工作 但事实并非如此 我试图找到这个深度嵌套的 a tag a c
  • Emacs 桌面不记得 TRAMP 连接?

    我使用 emacs 在多个不同的服务器上编辑脚本和代码文件 TRAMP 运行良好 然而 当我退出 emacs 时 我所有的流浪者连接都会消失 我尝试了桌面保存模式 但重新启动 emacs 时仅显示本地文件 是否有一些软件包可以记住流浪者连接
  • 字符串作为 R 中的因子

    在 R 中创建数据框时 字符串默认转换为因子 我不介意 但是 当我想在数据框中创建新行时 我找不到将字符串编码为因子的方法 如果我使用factor 字符串被转换为数字 但仍然不是一个因子 在任何一种情况下 我都无法将新行附加到数据框中 因为
  • jquery菜单悬停

    我有一个菜单 当我将鼠标悬停在 div 上时它会显示 当鼠标移出时它会淡出 问题是 如果您滚动菜单的任何子菜单 菜单就会消失 因为从技术上讲 如果您在其中一个子菜单上 那么您就没有在父菜单上 是否有一种方法可以使滚动子菜单不会消失算作鼠标移
  • 为什么Icecast2不想通过https给出流?

    在具有 Ubuntu 14 04 LTS 的服务器上安装了支持 SSL 的 Icecast2 2 4 1 也在该服务器上运行 HTTPS 网站 我想在页面上插入 HTML5 播放器 该播放器也将通过 SSL 获取流 否则 混合内容错误 该网
  • rgba() 的颜色 IE 后备不起作用

    为什么 IE 有以下后备color red 行不通 在IE7中 颜色是black而不是red 现场演示在这里 HTML div span Hello span div CSS div width 200px height 100px bac
  • 如何编写键盘快捷键以从选定的表中选择前 1000 个*?

    有没有办法在 ssms 2012 中创建键盘快捷键 按下时会产生与select top 1000 from mytable 我已经探索过这一点 http msdn microsoft com en us library ms174178 很
  • 定位服务在 iOS 11 中不工作

    我刚刚使用 iOS 11 SDK 重建了我的应用程序 试图删除blue banner现在总是出现 我想 太棒了 这有效 却发现定位服务现在根本不起作用 该应用程序曾经在 iOS 10 上运行 有人听说过什么吗 看来苹果又增加了一项隐私功能
  • 以编程方式创建时椭圆形被剪裁

    我有一个剪辑问题 首先 我尝试仅使用 Xml 显示椭圆形 我有以下代码 res drawable circle xml
  • 具有偶数个 0 和 1 的字符串的正则表达式

    包含偶数个 0 和偶数个 1 的 0 和 1 字符串的正则表达式是什么 我有类似的东西 1 01 01 0 10 10 看起来不错吗 好吧 这可能是家庭作业 但到底是什么 00 11 01 10 00 11 01 10 编辑 简化
  • Windows 下 Python 3 的 open() 的默认编码。不遵守 sys.getdefaultencoding() 设置

    我已经为这个问题绞尽脑汁好几个小时了 我有一个消息文件 我想使用 django 的 makemessages 命令生成 该命令在 Linux 环境中运行得很好 它实际上以合理的方式处理区域设置 然而 当我在 Windows 下尝试同样的事情
  • REST - Web 服务响应 - mime 类型?

    1 为 Web 服务响应设置正确的 MIME 类型重要吗 2 正确的哑剧类型是什么 a XML 响应 b JSON 响应 application xml text xml application json application x jav
  • Laravel 4 路由参数数量不受限制

    我正在尝试为无限数量的 URL 级别创建动态路由 这是我当前的路线 Route get pageLink array uses gt SiteController getPage 这适用于第一级 所以像something com foo 这