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