Optional parameters on index route(索引路由上的可选参数)
本文介绍了索引路由上的可选参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个非常简单的应用程序,其中我打算有选择地接受索引路径上的一个参数,以便用户可以转到http://example.com/
或http://example.com/somethingrandom
我希望能够将somethingrandom
捕获为可选参数,但我运气不佳。以下是我的路线:
$app -> get('/(:random)', function($random=null) use($app) {
... do some stuff
});
php>推荐答案
所以让它工作并不是因为不了解超薄框架,而是与我在OS X上的默认apache2设置有关。在OSX的更高版本中,默认情况下没有启用php。这不是我的问题,但也是部分原因。我按照this教程进行操作,以确保设置正确。除了本文之外,我还必须取消对加载mod_rewrite
模块的代码行的注释。
然后我在/etc/apache2/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/Users/tbm/Sites/example.com"
ServerName shor.ty
<Directory "/Users/tbm/Sites/example.com">
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
并将127.0.0.1 example.com www.example.com
添加到我的主机文件中,以便能够从我的浏览器使用域名访问该站点。
最后,由于启用了mod_rewrite
模块,我创建了一个.htaccess
文件,该文件确保所有请求都通过index.php
,从而允许瘦路由器接管并显示正确的页面
Options -Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /index.php [QSA,L]
完成所有这些操作后,我可以使用以下语法解决问题
$app -> get('/(:random)', function($random=null) use($app) {
... do some stuff
});
现在的不同之处在于,当我访问位于/some_string
的页面时,会告诉Apache重写请求并运行index.php
,然后调用SLIM来查找正确的路径并呈现正确的页面。我希望这是有意义的
这篇关于索引路由上的可选参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
沃梦达教程
本文标题为:索引路由上的可选参数
基础教程推荐
猜你喜欢
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01