2017-10-03 17 views
0

私は、私は私のコードやサーバの設定が間違って何の問題を見つけようとしている数日以来、apache2のとPHPに新たなんです。私は、エラーを受信して​​いPHP 7.1ルーティングの問題

$uri = $_REQUEST['URI']; 
echo("$uri"); 

: は私のようなシンプルなラインを実行している場合は

Notice: Undefined index: URI in /var/www/html/... 

は、私は自分のルータを構築するために$ _REQUEST [ 'URI']を必要とします。 ファイル.htaccessがプロジェクトに追加されるため、apacheはルートを無効にすることを知っておく必要があります。定義されるべきである私は、Webブラウザからスクリプトを実行しました。もちろん

Options +FollowSymLinks 
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php [NC,L] 

ので、$ _REQUEST [ 'URI']:ところで、それは次のようになります。 問題の表示先: PHP 7.1 + Apache2.4 + Ubuntu16.04

誰かに助けてもらえますか? @EduardoEscobarが何をしようとする、言うように

+1

URIは右、クエリ文字列変数であるだろうか?私はhttp://example.com/?URI=somethingです。 (。*) 'のRewriteRule^$のindex.phpのURI =%{REQUEST_URI} [NC、QSA、L]' –

+0

それはしていません。いずれにせよ、私はあなたが書き換えルールとしてこれを使用したい、ほぼ確信しています?作業。目的は、誰かがブラウザすなわちexample.com/indexまたはexample.com/first_subpage、そう返す必要があります$ _REQUEST [「URI」]に入力しますときに適切なURLを取得することです:example.com/indexまたはexample.com/first_subpageは異なりどのユーザーがURLとして入力するかを指定します。 Webページルーティングの最も単純なケースです。あなたが書き直したルールは、URLを介して引数を渡すことを指しています、私は何をしようとしていません。 – okarmusk

答えて

0

あなたの.htaccessファイルでちょうどこの

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L] 
</IfModule> 

を追加し、あなたのメインのindex.phpファイルにちょうどキャッチだから、

<?php echo $_GET['url']; ?> 

としてURL、ユーザは、その後example.com/test のようにページを開いた場合出力はtest

+0

これはうまくいかず、その結果はEduardo EscobarとCroisesの前回の回答と同じです。私は、依存関係を参照してください '要求 – okarmusk

+0

'プリント($ _ GET)しようと、URIでないURLである必要があります:注意:未定義のインデックス私はまだ情報を受け取ります。 $ _GETパラメータの名前が間違っています。今それは動作します!おかげで多くの仲間:) –

+0

に来るのかを確認するには、URIの/ varで/ www /のhtmlの... – okarmusk

0

は次のとおりです。

$uri = $_SERVER['REQUEST_URI']; 
echo("$uri");