2009-08-28 20 views
0

htaccessで単にDocumentRootを設定することはできませんが、私がアクセスできるのはそれだけです。回避策はありますか?私はどのように進めるべきですか?または、これはこのような設定のための間違った設定ですか?

私はdevサーバーを持っています:www.foo.comは/ usr/www/users/fooにマップされています。

私はその後

  • www.foo.com/peter =>は/ usr/WWW /ユーザー/ fooの/ピーター・
  • www.foo.com/paul =>は/ usr/www /のユーザーを持っています/ fooが/

ポールはどのようにすれば/ usr/WWW /ユーザー/ fooの/ピーターとが、/ usr/WWW /ユーザー/ fooへの/ポールにそれぞれマッピングするために$_SERVER['DOCUMENT_ROOT']を設定することができますか?

ありがとうございました。

答えて

2

DocumentRootは、特定のサブドメインのルート(/)URIのファイルシステムの場所です。

.htaccessが処理されるまでには、既に変更するのが遅すぎます。どうして?まあ...あなたがアクセスしている.htaccessファイルが上記のファイルシステムの場所にあるからです!

これで、新しい定数を作成して$_SERVER['DOCUMENT_ROOT']をその一部として使用できます。

+0

私はhttpd.confにアクセスできたら、上記の質問で私が望んでいたことを達成できますか? – frio80

3

私の経験では、$_SERVERという変数を信頼しないことを学んだことがあります。代わりに、私はdirname()の組み合わせを使用して自分自身をDOC_ROOTに設定しました。そして、私の位置が決して変わらない共通のインクルードファイルです。多くの一般的なフレームワークは、すべての要求を処理するディスパッチまたはインデックスファイルで同様のことを行います。

サンプルアプリケーションのフォルダ構造:助けPHPのmagic constants like __FILE__

希望の

 
-/usr/www/users/ 
    -peter/ 
    -script.php 
    -paul/ 
    -script.php 
    -index.php 
//index.php 

DEFINE('ROOT_PATH', dirname(__FILE__)); 
echo ROOT_PATH; // /usr/www/users/ 

詳細情報。

関連する問題