0

1 ページの動的サイトを構築しようとしていますが、障害が発生しました。次のような URL から:

index.php?page=Tutorials&Article=0

あまりきれいではないので、.htaccess を使用して URL を書き換えることにしました。この場合は次のようになります。

Tutorials/Articles/0

ただし、サイトのルート パスに対する相対パスを使用しているため、ほとんどのインクルードは機能しません。

js/jquery-1.9.1.min.js

index.php の先頭に含まれる次のコードを使用して、これらを回避しようとしました。

$str = dirname(__FILE__);
$str = str_replace('\\','/',$str);//since i'm using localhost for development, the paths contain backwards slahses so I replace them
$str.='/';
define('ROOT_DIR', $str);

そしてphpですべてを含めます:

echo ROOT_DIR.'js/jquery';

しかし、パスが正常に生成されているように見えても、このアプローチはうまく機能していないようです。

<script src="C:/xampp/htdocs/Tzeny/js/jquery-1.9.1.min.js"></script>

私の質問は、ファイルを正しく含めるか、ソリューションを機能させるための別のソリューションを見つけるのを手伝ってもらえますか?

最初のページでは機能するため、次のようになります。

Tzeny/Tutorials

動作しますが

Tzeny/Tutorials/Categories/0

何も含みません。/Tzeny/ と / の両方を使用しました。他にアイデアはありますか?それとも、通常の URL に戻す必要がありますか?

4

3 に答える 3

2

絶対パスを使用する必要があります。例 : ドメインが www.domain.com/Tzeny/index.php?page=Tutorials&Article=0 の場合、インデックスなどの各ファイルに次のようなスクリプトを含める必要があります。

<script src="/Tzeny/js/jquery-1.9.1.min.js"></script>
于 2013-05-10T13:55:31.040 に答える
0

index.php がドキュメント ルートにある場合、コードは次のように設定することで機能します。

$ROOT = "/";

ディレクトリから提供されている場合は、試すことができます

$ROOT = "/".str_replace(rtrim($_SERVER['DOCUMENT_ROOT'],"/", '',$ROOT);

お役に立てれば。

于 2013-05-10T13:59:56.277 に答える