5

HTML4 ハッシュと HTML5 pushstate() に対応する AJAX 対応サイトを実行しています。

AWS EC2 インスタンス (Apache を実行する Linux サーバー) に移行したところ、両方のサイトが正常に動作しています。

私が経験した唯一の問題は、正しいページが表示される HTML4 ハッシュ ページを更新したときです。

ただし、 http: //www.datingjapan.co/conversations のような HTML5 ページを更新すると、次のエラー メッセージが表示されます。

ここに画像の説明を入力

apache は、jquery を使用して正しいページをロードするサイト「index.php」を呼び出すのではなく、「conversations」フォルダに入ろうとしているようです。

ここで何が問題なのか、誰でもアドバイスできますか。私はそのhttpd.conf設定を想定しています。

どうも

4

2 に答える 2

5

index.phpファイルを何らかのタイプのブートストラップとして使用しようとしている場合は、ファイルでこれを試してください.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^(www\.).+$ [NC]
    RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>

基本的に、これはすべてのリクエストを非 www から www にリダイレクトし、ファイルまたはディレクトリでない場合は、リクエストをindex.phpファイルに転送します。

于 2012-12-25T21:55:09.573 に答える
3

私自身は使用していませんpushState()が、ブラウザーが/conversationswww.datingjapan.co にリクエストを送信している場合、別のことを指示しない限り、Apache はドキュメント ルートで「conversations」というファイルまたはフォルダーを実際に探します。 .

www.datingjapan.co のすべての URL を 1 つの index.php ファイルで処理する場合は、Apache 設定ファイルで次AliasMatchディレクティブを使用できます。

AliasMatch ^.*$ /index.php

これにより、すべての URL が index.php によって処理されるようになると思います。(ただし、Apache の構成についてはあまり詳しくないので、間違っている可能性があります。)

于 2012-12-25T21:39:56.227 に答える