问题标签 [altorouter]

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.

0 投票
1 回答
219 浏览

php - 将树枝传递给 altorouter 中的控制器功能

我有以下内容:

handleRoutes 函数应该获取路由名称(例如“about”或“contact”)并将其传递给 twig 渲染器。但是, $twig 在 handleRoutes 函数中不可用,我不知道如何正确地将对象传递给它。我试过了:

但是随后 $twig 也不能用于 $router->map 中的函数。

0 投票
1 回答
309 浏览

php - .htaccess 重定向到 /pages 除非索引

我正在使用一个 PHP 路由器 (AltoRouter),它允许我以各种方式定义路由,但不进行任何类型的重定向。

我希望我的“/”路线保持原样。

但是,如果有人去 '/' 以外的任何地方,我有一个通配符路由,它可以获取该路由的名称,找到一个 twig 文件,并根据名称呈现它。所以'/about' 会定位about.twig并渲染它。

我想要实现的是,如果有人去“/about”或“/contact”等,那么他们将被重新路由到“/pages/about”、“/pages/contact”等,但如果他们直接转到“/pages/about”,然后无需重新路由。

我当前的 .htaccess 文件如下所示:

不幸的是,我做了一堆搜索,并没有真正找到如何进行特定的条件重新路由/重定向。尤其是没有留下根“/”的人。

Pspages实际上不是服务器上的目录。我只想在页面名称之前插入“页面”。

0 投票
1 回答
77 浏览

php - Altorouter router->map() 未按预期工作

当我重新加载 index.php 页面时工作得很好。var_dump($match) 显示了预期的结果;

然而,

当我输入 localhost/about 时不起作用。浏览器显示“找不到对象”错误。

我怀疑可能是我的根目录设置不正确,所以我也在$router->map()上面放了following

不幸的是,setBasePath 不是一个解决方案。

0 投票
0 回答
136 浏览

javascript - 路由后引导模式不再工作

我刚刚在我的项目中包含了一些路由,使用AltoRouter. 我正在使用相对简单的路由,例如:

现在在 上chat.php,我有一个模态。在包含路由之前,此模式工作得非常好。但是现在,模态还有另一个问题。

  • 模态始终作为页面其余部分下方的普通 div 存在
  • 它根本不会显示为模态,即使在它应该显示的那一刻也是如此

以下是模态的代码。

然后,当导航到页面时,我只检查设置的 cookie。如果未设置,我想打开模式:

JS 似乎工作正常,#namePopup在需要时正确添加到 URL。但我想,路由器不能使用这个,虽然我不明白,为什么总是显示它。

如果需要,任何人都可以帮我找出问题或帮助我创建打开模式的路线吗?

0 投票
1 回答
196 浏览

php - AltoRouter 发送 Mime 类型

AltoRouter用来将我的网址路由到正确的文件。现在基本上在这里,我已经描述了我的问题。

在一页上,我有一个警报,由引导程序设计。

它的定义很简单:

此外,之前还包含 Bootstrap css 文件:

bootstrapcssAltoRouter使用这行代码路由到正确的 css 文件:

现在,在控制台中,它会抛出一个警告说Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost/bootstrapcss"

如果我使用 css 文件的完整路径、CDN 或删除DOCTYPE,它的工作正常。但我不想做这些变化中的任何一个......删除文档类型,可能会损坏其他功能,如果我使用完整的css路径,那么我不需要路由......

有什么想法可以发送Content-type: text/css标头以使其正常工作吗?

0 投票
1 回答
418 浏览

php - AltoRouter 未正确执行路由

我只是在用 PHP 开发一个小 WebApp,对于路由,我使用AltoRouter

到目前为止,我只是在我的本地主机上进行离线开发和测试。现在,为了查看服务器上的行为,我上传了我的代码,修复了数据库连接以适应服务器上运行的 MySQL-Server(即 Ubuntu 14.04)并尝试启动它。

首先,我正在为路由做的事情很简单.htaccess,看起来像这样:

然后,在 myindex.php中,路由完成

这在我的本地主机上完美运行,所以一般来说似乎没有问题。

但是,在我的服务器上,当前进到 IP 时,首先似乎它正在工作,因为当仅转到时/home.php文件已正确加载。但是,无论我叫什么其他路线,比如/impressum,它都不起作用,回到/home.php又起作用了。

现在,替换home.php(在路由中)impressum.php也可以,然后我也可以看到正确的文件。总而言之,似乎它总是只有第一条有效的路线。

有谁知道,为什么会发生这种情况或问题是什么?

我尝试直接调用文件,并且(除了一些未加载的脚本等)它的工作,所以去myDomain.com/impressum.php工作正常,所以它似乎不是文件或某事的问题。

我还尝试将hole项目的权限设置为755,以确保这不是问题,但结果相同。

有任何想法吗?

编辑:我已经尝试了很多,但仍然没有让它工作......但是,我认为这不是“第一条路线”工作,而只有/-route 工作。其他所有路线都不起作用,但同样,一切都在运行 XAMPP 的 localhost 上运行......

0 投票
0 回答
500 浏览

php - AltoRouter 不执行路由,但它在 localhost (LAMP) 中工作

问题

我的AltoRouter在实时服务器 (LAMP) 上没有正确路由,但它在 localhost (XAMPP) 中运行良好。我怎么知道路由部分是正确的?因为,当我对分配的路由执行 GET 请求时,服务器返回 500 错误:

500内部服务器错误

但是,当我对不存在的路由执行 GET 请求时,服务器返回 404 Not Found 响应:

404 未找到

我配置.htaccess

.htaccess 文件

索引.php

0 投票
1 回答
89 浏览

php - 如何动态地做一个 Altorouter

我在 PHP 中使用了 Altorouter,并尝试动态化我的路由器。我有一个特定于文件夹、子文件夹、子子文件夹的体系结构。

我已经尝试做到这一点

那行得通,但我只匹配文件夹/页面。我不会对所有子文件夹执行此方法。如何自动检测文件夹、子文件夹?

在我的控制器中,

我这样控制文件夹?

如果他在此页面中找不到,我会做条件吗?

0 投票
0 回答
202 浏览

php - Altorouter 表单重定向

我正在为一个项目使用 Alto 路由器。当我提交表单时,我的问题出现了,我找不到使重定向工作的解决方案。我的项目结构:

我在动作属性中尝试了不同的 url。我还尝试将其留空并使用 header("Location") 进行重定向。

这是我处理路由器的方式:

现在在添加页面上,我有一个应该添加到我的数据库然后重定向到主页的表单。这是我卡住的地方(另外,用于插入的 db 部分可能包含错误,但我稍后会处理它):

提交后(以及将数据添加到数据库后),我应该如何处理路由器重定向到主页?

0 投票
0 回答
132 浏览

php - PHP AltoRouter:$_SERVER['BASE-URI'] 在我的 Raspberry Pi Web 服务器上返回 NULL

我在我的计算机上处​​理了一个个人项目,它在这台计算机的 localhost 上运行良好。但是我尝试使用我的 Raspberry Pi 作为 Web 服务器将它放到网上,但它不起作用(它显示 404 错误)。这是一个使用 PHP AltoRouter 的项目。我注意到在我的计算机上,$_SERVER['BASE-URI'] 返回 'localhost' 之后的 url,但在我的 RaspberryPi 上,它返回 'NULL'。

在公用文件夹中,我的 index.php 文件开始如下:

我的 Htaccess 文件是这样的:

有谁知道这个问题可能来自哪里?当我将我的 Rpi 设置为 Web 服务器时,我安装了 Apache2、PHP、MySQL、PHPMyAdmin、Git、VS Code、Composer(我还编写了命令“composer install”和“composer dump-autoload”)。设置 Raspberry Pi 时有什么我忘记做的吗?

感谢您的时间 !