0

私は簡単なスクリプトを持っています:

index.php:

<?php

$path= $_SERVER['PATH_INFO'];

if($path)
  echo $path;
else
  echo "No Path Info";

?>

私がそれを実行するとwww.website.com/index.php、うまくいきます。すなわち)www.website.com/index.php/helloエコーします/hello

ただし、に行くとwww.website.com/hello、必要なときに URL が見つからないというエラーが表示されます。それ/helloがエコーされます。

index.phpPATH_INFO が機能するために存在する必要がないようにするにはどうすればよいですか?!

4

3 に答える 3

1

Apache Web サーバーを使用している場合は、このルールを .htaccess に記述します。

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-03-01T23:19:10.623 に答える
1

クリーンURLを使用するために使用しているサーバーに応じて、URL設定を書き直す必要があります

これをチェックしてください http://wettone.com/code/clean-urls

これらの行に何か

RewriteEngine on
RewriteCond $1 !^(index\.php)
RewriteRule ^(.*)$ /index.php/$1 [L]
于 2013-03-01T23:21:11.920 に答える
0

サーバーからWebページが要求されたとき。サーバーはパス(example.com/this/is/a/pathなど)を調べて、どのファイルをどこから提供するかを判断します。

私が理解しているように、あなたがしたいのは、index.phpにすべてのリクエストを処理させることです。URL書き換えを使用するためにこれを行う方法。

Apache Webサーバーを使用していると仮定すると、*mod_rewrite*と呼ばれるものを使用してこれを行うことができます。mod_rewriteの詳細については、こちらをご覧ください

使用する特定のルールについては、V_Kの回答のコードのようなものを使用することをお勧めします。

于 2013-03-01T23:24:37.667 に答える