使用Composer从零开发一个简单的restful框架(01)-项目初始化

最终源码

gitee.com/mirahs/phpapi

软件版本

创建项目

创建phpapi项目目录,并在其下创建public目录

$ mkdir phpapi/public -p

新建public/index.php项目入口文件,内容如下

<?php
echo 'Hello, World!';

Apache 配置

编辑C:\Windows\System32\drivers\etc\hosts文件,添加一条记录

127.0.0.1        phpapi.com

编辑D:\apps\wamp\httpd-2.4.53\conf\extra\httpd-vhosts.conf,添加 web 站点配置

<VirtualHost *:80>
    DocumentRoot        "D:/apps/wamp/www/phpapi/public/"
    ServerName          phpapi.com
</VirtualHost>

重启Apache

浏览器访问http://phpapi.com/

Apache 重定向

框架是单一入口,所有的请求都由index.php统一处理,当访问http://phpapi.com/xxx/ooo 链接时,也会由index.php处理。但现在还需要配置一下Apache的重定向规则,不然访问会返回Not Found

Not Found

The requested URL was not found on this server.

编辑D:\apps\wamp\httpd-2.4.53\conf\httpd.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so取消注释开启重定向功能

重启Apache

新建public/.htaccess,内容如下(如果创建不了,可以使用 Git Bash,执行 touch public/.htaccess 命令创建文件)

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews -Indexes

  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  #RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
  RewriteRule .* /index.php [L] #如果这行配置不行,注释掉这行并取消上面行的注释
</IfModule>

浏览器访问http://phpapi.com/xxx/ooo,这时不会再返回Not Found错误了

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!