2012-07-19 93 views
7

我正在实施适用于PHP的Slim框架,并且一切看起来都很好。不过,我可以得到它的工作的唯一途径是通过把的index.php的URL是这样的:如何让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] 
+0

有同样的问题。我可以得到/重新路由到的index.php,但任何子目录也不会被重新路由... – 2013-05-13 07:46:03

回答

5

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

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

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

+0

谢谢,@bazmegakapa。这是我原来在.htaccess中的,但它似乎仍然不起作用。我有一种感觉,我的重写引擎可能无法启动。我现在试图对此进行测试。 – Progger 2012-07-19 21:30:07

4

我想这个答案来得晚,但以下链接http://docs.slimframework.com/routing/rewrite/
我需要什么样的信息是所有语句添加的的AllowOverride到我的虚拟主机配置,这为我工作。

+0

没来得晚,它帮助了我......我完全忘记了在我的新服务器中配置该功能;)谢谢! – andufo 2013-08-28 17:36:35

0

检查您的虚拟主机并allowOverRide全部。

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