0

私はphp、html5、javascriptを使ってWebプロジェクトを開発しています。現在、サブディレクトリをキャプチャしてページのコンテンツを再計算するために、ユーザーがページを更新するときにphpを使用してURLを処理しています(ajaxを使用しているため必要です)。

わかりました。everithingはこの方法でうまく機能しますが、これを実現するには、すべてのリクエストを自分のページにリダイレクトして、controller.phpという別のファイルを呼び出すindex.phpにリダイレクトする必要があります。これを行うために、私は次の.htaccessコードを使用しています。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/index\.php -f
RewriteRule ^(.*)$  /MySubDirectory/index.php [QSA]

私はローカルホストでテストしているので、次のパターンの場合:

localhost/MySubDirectory/
localhost/MySubDirectory/something

それは動作しますが、新しいフォルダを追加すると:

localhost/MySubDirectory/something/somethingelse

cssとjavascriptのインポートで奇妙なエラーが発生します

Uncaught SyntaxError: Unexpected token < jquery-1.8.2.min.js:1
Uncaught SyntaxError: Unexpected token < jquery-ui-1.9.0.min.js:1
Uncaught SyntaxError: Unexpected token < SpriteAnimation.js:1
Uncaught SyntaxError: Unexpected token < Bile.js:1

助けてくれてありがとう。

4

1 に答える 1

1

問題はmod_rewriteではなく、リソースを参照するリンクにありました。それらは、リダイレクトされたサブディレクトリから始まる相対パスとして取得されていたため、これらのリソースはロードされません。私は、各リソース(javascript、css、およびimages)をスラッシュで開始し、それらを以前のように相対パスではなく絶対パスにすることで解決します。

于 2012-10-22T22:06:46.550 に答える