2017-12-25 12 views
0

:私はルートの代わりのために全体のパスを指定しない限り、PHPルーティングURLルーティングのためのnikic /高速ルートのPHPパッケージで

PHPのURLルーティングが動作しません。ルートの名前だけ:

は、例えば、/hello-worldのためのルートを作成するために、私は全体のパスを指定する必要があります。localhost/myProject/public/index.php/hello-world

$r->addRoute('GET', '/localhost/myProject/public/index.php/hello-world', function() { 
     echo 'Hello World'; 
    }); 

に行われる必要があるものがあります。 htaccessファイル?私はGitHubの上の枠組みが、パトリックLouys'いいえフレームワークのチュートリアル使用していないよ

:現在のプロジェクトについての

詳細私は、WebサーバとしてのFedora Linux上でXAMPPを使用していhttps://github.com/PatrickLouys/no-framework-tutorial

Webサーバーが/ opt/lamppにある間に私のコードがmy/homeディレクトリにあります...シンボリックリンク:sudo ln -s /home/... /opt/lampp/htdocs(それが問題ならば)をリンクしています...チュートリアルはPHPに依存していますビルトインサーバー(php -S localhost:8000

答えて

0

マイクイックフィックス:

の1-パブリックディレクトリに.htaccessファイルを作成します。すべてのリクエストはindex.php

2に転送されます。適切なURIを取得するために送信されたURL全体を解析する関数を追加します。基本的にこの関数は、localhost/public/index.php/hello-worldのようなURL全体をトリミングし、/hello-worldを返します。そのようなURLは、当社のウェブサーバによって受信されたとき/hello-world私たちの高速ルートルータによって登録されたルートは、適切なコントローラが呼び出されますされて

ソース(説明とコード例):http://blogs.shephertz.com/2014/05/21/how-to-implement-url-routing-in-php/

0

多分それは間違っているのですが、代わりに/helloworldのあなたは、このパス以下のhtdocsフォルダ内のコード(ファイル)を置く必要があります./helloworld

0

を記述する必要があります。

/opt/lampp/htdocs/ 

次に、あなたのフォルダという名前のhello-世界を作りますこのフォルダはhtdocsの内側でなければならない、このようにフォルダ:

/opt/lampp/htdocs/hello-world 

次に、rootユーザーなどの端末とアクセスを開くハロー世界にディレクトリを変更して、あなたがあたりを与えなければなりません

chmod 667 hello-world -R 

-Rは、フォルダのhello-世界とその中のすべてのファイルにpermisionを与えるために使用されます。このようなフォルダへミシオン。それだけです! localhost/hello-worldを実行しようとすると、あなたのプロジェクトは現在動作しています!

注:これが動作しない場合は、パス/ opt/lampp/htdocs /に続いてhtdocsフォルダ内にtest.phpという名前のphpファイルを作成してみてください。そのファイルには次のファイルが含まれている必要があります。

<h1><b><?php echo "hello wordl!"; ?></b></h1> 

この場合も、ファイルにパーミッション(chmod 667)を与える必要があります。それをコピーしてブラウザのナビゲーションバーに貼り付けます:

localhost/test.php 

大胆なスタイルで大きなハローワールドが表示されます。

関連する問題