0

私は、クライアント アクセスに対応するサイトを引き継ぎました。それらはすべて独自のフォルダーにアクセスし、フォルダーには、以下のように相対パスを含むファイルが含まれています。

/core - すべての実際のファイルが含まれています

/client/file.php -

<? include "../core/file.php"; ?>

しかし、クライアントの数が増えるにつれて、より深いレベルに進み、より適切に分離したいと考えています...

/uk/client/file.php -

<? include "../../core/file.php"; ?>

これは問題ありませんが、ファイルがインクルードされると、それらにも独自の相対インクルードがあり、これが壊れる場所です。

非常に多くのファイルがあり、すべてのインクルード パスを簡単に変更することはできないので、パスを偽造するために書き直したいと思いますか?

私はこれを試しました...

RewriteRule ^uk/$ /

しかし、それはうまくいきません。

どんな助けでも大歓迎です

4

1 に答える 1

0

これは の作業のように聞こえます。ここでドキュメント__DIR__を確認できます

ファイルのディレクトリ。インクルード内で使用すると、インクルードされたファイルのディレクトリが返されます。これは dirname( FILE )と同等です。ルート ディレクトリでない限り、このディレクトリ名には末尾のスラッシュはありません。(PHP 5.3.0 で追加されました。)

それ以外の場合でも、すべての相対パスを絶対パスに切り替えて、一部のファイルが他のファイルに含まれている場合の問題を回避できます。

<?...?>補足として、私はphpの短いタグを使用しないことをお勧めしますが、長いタグを使用したいと思います<?php....?>

于 2013-06-02T21:57:33.210 に答える