如何在不必将/index.php放入URL的情况下使Slim Framework工作?

时间:2012-07-19 21:17:21

标签: php apache .htaccess url-rewriting slim

我正在为PHP实现Slim Framework,一切似乎都运行得很好。但是,我能让它工作的唯一方法是将/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]

3 个答案:

答案 0 :(得分:5)

恢复注释(#)行并摆脱另一行应该会有所帮助。当您下载Slim Framework时,它也是originally had this in the .htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ ./index.php [QSA,L]

另外,你应该learn about writing rewrite rules,因为没有它你就不会走得太远。

答案 1 :(得分:4)

我认为这个答案来得很晚,但是请遵循此链接http://docs.slimframework.com/routing/rewrite/的信息 我需要的是将 AllowOverride All 语句添加到我的虚拟主机配置中,这对我有用。

答案 2 :(得分:0)

检查您的虚拟主机和allowOverRide all。

   RewriteEngine On
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ /index.php [QSA,L]