如何让 Slim 框架工作而无需将 /index.php 放入 URL?
Posted
技术标签:
【中文标题】如何让 Slim 框架工作而无需将 /index.php 放入 URL?【英文标题】:How do I get Slim Framework to work without having to put /index.php in the URL? 【发布时间】:2012-07-19 03:29:37 【问题描述】:我正在为 php 实现 Slim 框架,一切似乎都运行良好。但是,我可以让它工作的唯一方法是将 /index.php 放在 URL 中,如下所示:
http://www.example.com/index.php/members/1
我希望它像这样工作:
http://www.example.com/members/1
我感觉这与我的 .htaccess 相关,但我不确定。这是我的 .htaccess:
RewriteCond %REQUEST_FILENAME !-f
# RewriteRule ^ ./index.php [QSA,L]
RewriteRule ^ . [QSA,L]
【问题讨论】:
遇到同样的问题...我可以让 / 重新路由到 index.php 但任何子目录都没有被重新路由... 【参考方案1】:恢复已注释的 (#
) 行并删除另一行应该会有所帮助。当你下载 Slim Framework 时,originally had this in the .htaccess 也是如此。
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ ./index.php [QSA,L]
另外,你应该learn about writing rewrite rules,因为没有它你不会走得太远。
【讨论】:
谢谢,@bazmegakapa。那是我最初在 .htaccess 中的内容,但它似乎仍然不起作用。我感觉我的重写引擎可能没有打开。我现在正在尝试解决这个问题。【参考方案2】:我认为这个答案来晚了,但是按照这个链接的信息http://docs.slimframework.com/routing/rewrite/ 我需要将 AllowOverride All 语句添加到我的虚拟主机配置中,这对我有用。
【讨论】:
根本没有迟到,它帮助了我......我完全忘记在我的新服务器中配置该功能;)谢谢!【参考方案3】:检查您的虚拟主机并允许全部覆盖。
RewriteEngine On
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ /index.php [QSA,L]
【讨论】:
以上是关于如何让 Slim 框架工作而无需将 /index.php 放入 URL?的主要内容,如果未能解决你的问题,请参考以下文章