0

ここに問題があります:

私はvirutalhostで実行されているアプリケーションを持っています:example.com

アプリケーションはすべてのリクエスト example.com/* を処理し、さらに魔法が起こる index.php スクリプトに分類されます。

魔法の環境変数 $ _SERVER ['REQUEST_URI'] のコンポーネントは、アプリケーションをサブディレクトリ example.com/abc/* で実行するまで、すべてうまく機能します。

私の質問は:

$ _SERVER ['REQUEST_URI'] の index.php スクリプトを example.com/abc/whatever に入力した後、.htaccess のエントリで $ _SERVER ['REQUEST_URI'] を変更するにはどうすればよいですか? /なんでもいい?

私はいくつかの調査を行い、index.php スクリプトの $ _SERVER ['REQUEST_URI'] の変更のみが 1 つの解決策であるという結論にゆっくりと達しました。

誰かアイデアはありますか?

助けてくれてありがとう

4

1 に答える 1

0

このようなものには使用しないようにしてください$_SERVER['REQUEST_URI']

代わりにdefine、これらの定義をアプリケーション全体で使用してください。したがって、サブディレクトリにはこれを使用し、アプリケーション全体で and を使用BASE_DIRBASE_URLます。

define("BASE_DIR", "/var/www/abc/");
define("BASE_URL", "/abc);

再度移動する必要がある場合は、これら 2 つの変数を変更するだけで済み、$_SERVER['REQUEST_URI'] が正しいことを確認する必要がないため、簡単に実行できます。

define("BASE_DIR", "/var/www/sitename.com/httpdocs/subdir");
define("BASE_URL", "/subdir);

これらの定義を次のように使用することに注意してください

echo "The base dir is " . BASE_DIR;
于 2013-07-26T12:07:56.807 に答える