Slim 框架要求Web服务器必须支持url重写.必须配置服务器.

Apache的配置

确保你的index.php文件与.htaccess在同一个公有权限的目录下, .htaccess文件里面的内容如下:

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

确保你的Apache虚拟主机配置 AllowOverride 选项配置如下,这样你的.htaccess重写规则才能有效.

AllowOverride All

Nginx的配置

nginx 虚拟主机配置可以参考 Linux下Nginx虚拟主机配置

server {
listen 80;
server_name example.com;
index index.php;
error_log /path/to/example.error.log;
access_log /path/to/example.access.log;
root /path/to/public;

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}

location ~ \.php {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_index index.php;
    fastcgi_pass 127.0.0.1:9000;
}
}

还有其他Web服务器(HipHop Virtual Machine,IIS,lighted)配置参考,Slim Web服务器配置


文档翻译的并不是很专业,仅供个人学习作用,建议看官方文档。

如果有兴趣,请看下一篇 SLIM 3 文档(四)-PSR7