2016-05-15 14 views
0

サブディレクトリにphrouteを設定しようとしています。これは私が今までにそれを働かせるために行ったことですが、成功することはありません。サブディレクトリにphrouteを設定する

最初。私がframeworkに電話することを選択したフォルダで、私はcomposer require phroute/phrouteを実行しました。

秒。その後、/publicフォルダを作成しました。だから今すぐフォルダframeworkに私は持っている:

composer.json 
composer.lock 
public 
vendor 

第三。フォルダ/publicで私はindex.phpに触れると、次の行を追加します。

<?php 
require '../vendor/autoload.php'; 

use Phroute\Phroute\RouteCollector; 

$router = new RouteCollector(); 

$router->get('/', function(){ 
    return 'Hello, 

四。サブフォルダframeworkで私は.htaccessに触れると、次の行を追加します。

RewriteEngine On 
RewriteBase /framework/ 

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC] 
RewriteRule^%1 [L,NE,R=302] 

RewriteRule ^((?!public/).*)$ public/$1 [L,NC] 

だから私はhttp://localhost:8888/framework/そのちょうど空白、エラーなし何も何を打っていないとき。 index.phpにいくつかのlorum ipsumがあるとき、それが表示されます。

フォルダ構造は、このようなものです:

├── composer.json 
├── composer.lock 
├── public 
│   └── index.php 
└── vendor 
    ├── autoload.php 
    ├── bin 
    ├── composer 
    │   ├── ClassLoader.php 
    │   ├── LICENSE 
    │   ├── autoload_classmap.php 
    │   ├── autoload_namespaces.php 
    │   ├── autoload_psr4.php 
    │   ├── autoload_real.php 
    │   ├── autoload_static.php 
    │   └── installed.json 
    └── phroute 
     └── phroute 
      ├── LICENSE 
      ├── README.md 
      ├── benchmark 
      │   └── simple.php 
      ├── composer.json 
      ├── examples 
      │   ├── route_filters.php 
      │   ├── route_prefix.php 
      │   ├── route_prefix_and_filter_nested.php 
      │   └── simple.php 
      ├── phpunit.xml 
      ├── src 
      │   └── Phroute 
      │    ├── Dispatcher.php 
      │    ├── Exception 
      │    │   ├── BadRouteException.php 
      │    │   ├── HttpException.php 
      │    │   ├── HttpMethodNotAllowedException.php 
      │    │   └── HttpRouteNotFoundException.php 
      │    ├── HandlerResolver.php 
      │    ├── HandlerResolverInterface.php 
      │    ├── Route.php 
      │    ├── RouteCollector.php 
      │    ├── RouteDataArray.php 
      │    ├── RouteDataInterface.php 
      │    ├── RouteDataProviderInterface.php 
      │    └── RouteParser.php 
      └── test 
       └── Dispatcher 
        └── DispatcherTest.php 

私はそれが.htaccessファイルに何かを持っているかもしれないと思います。しかし、私には間違っていることはありません。

答えて

0

あなたは私があまりにも問題があった

$dispatcher = new Phroute\Phroute\Dispatcher($router->getData()); 
echo $dispatcher->dispatch($_SERVER['REQUEST_METHOD'], parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); 

以下を追加する必要があります。よろしくお願いいたします。

関連する問題