问题标签 [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.
php - 将树枝传递给 altorouter 中的控制器功能
我有以下内容:
handleRoutes 函数应该获取路由名称(例如“about”或“contact”)并将其传递给 twig 渲染器。但是, $twig 在 handleRoutes 函数中不可用,我不知道如何正确地将对象传递给它。我试过了:
但是随后 $twig 也不能用于 $router->map 中的函数。
php - .htaccess 重定向到 /pages 除非索引
我正在使用一个 PHP 路由器 (AltoRouter),它允许我以各种方式定义路由,但不进行任何类型的重定向。
我希望我的“/”路线保持原样。
但是,如果有人去 '/' 以外的任何地方,我有一个通配符路由,它可以获取该路由的名称,找到一个 twig 文件,并根据名称呈现它。所以'/about' 会定位about.twig
并渲染它。
我想要实现的是,如果有人去“/about”或“/contact”等,那么他们将被重新路由到“/pages/about”、“/pages/contact”等,但如果他们直接转到“/pages/about”,然后无需重新路由。
我当前的 .htaccess 文件如下所示:
不幸的是,我做了一堆搜索,并没有真正找到如何进行特定的条件重新路由/重定向。尤其是没有留下根“/”的人。
Pspages
实际上不是服务器上的目录。我只想在页面名称之前插入“页面”。
php - Altorouter router->map() 未按预期工作
当我重新加载 index.php 页面时工作得很好。var_dump($match) 显示了预期的结果;
然而,
当我输入 localhost/about 时不起作用。浏览器显示“找不到对象”错误。
我怀疑可能是我的根目录设置不正确,所以我也在$router->map()上面放了following
不幸的是,setBasePath 不是一个解决方案。
javascript - 路由后引导模式不再工作
我刚刚在我的项目中包含了一些路由,使用AltoRouter
. 我正在使用相对简单的路由,例如:
现在在 上chat.php
,我有一个模态。在包含路由之前,此模式工作得非常好。但是现在,模态还有另一个问题。
- 模态始终作为页面其余部分下方的普通 div 存在
- 它根本不会显示为模态,即使在它应该显示的那一刻也是如此
以下是模态的代码。
然后,当导航到页面时,我只检查设置的 cookie。如果未设置,我想打开模式:
JS 似乎工作正常,#namePopup
在需要时正确添加到 URL。但我想,路由器不能使用这个,虽然我不明白,为什么总是显示它。
如果需要,任何人都可以帮我找出问题或帮助我创建打开模式的路线吗?
php - AltoRouter 发送 Mime 类型
我AltoRouter
用来将我的网址路由到正确的文件。现在基本上在这里,我已经描述了我的问题。
在一页上,我有一个警报,由引导程序设计。
它的定义很简单:
此外,之前还包含 Bootstrap css 文件:
bootstrapcss
AltoRouter
使用这行代码路由到正确的 css 文件:
现在,在控制台中,它会抛出一个警告说Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost/bootstrapcss"
。
如果我使用 css 文件的完整路径、CDN 或删除DOCTYPE
,它的工作正常。但我不想做这些变化中的任何一个......删除文档类型,可能会损坏其他功能,如果我使用完整的css路径,那么我不需要路由......
有什么想法可以发送Content-type: text/css
标头以使其正常工作吗?
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 上运行......
php - 如何动态地做一个 Altorouter
我在 PHP 中使用了 Altorouter,并尝试动态化我的路由器。我有一个特定于文件夹、子文件夹、子子文件夹的体系结构。
我已经尝试做到这一点
那行得通,但我只匹配文件夹/页面。我不会对所有子文件夹执行此方法。如何自动检测文件夹、子文件夹?
在我的控制器中,
我这样控制文件夹?
如果他在此页面中找不到,我会做条件吗?
php - Altorouter 表单重定向
我正在为一个项目使用 Alto 路由器。当我提交表单时,我的问题出现了,我找不到使重定向工作的解决方案。我的项目结构:
我在动作属性中尝试了不同的 url。我还尝试将其留空并使用 header("Location") 进行重定向。
这是我处理路由器的方式:
现在在添加页面上,我有一个应该添加到我的数据库然后重定向到主页的表单。这是我卡住的地方(另外,用于插入的 db 部分可能包含错误,但我稍后会处理它):
提交后(以及将数据添加到数据库后),我应该如何处理路由器重定向到主页?
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 时有什么我忘记做的吗?
感谢您的时间 !