0

私は本当に奇妙な出来事に遭遇しました。最近、.htaccessファイルに次の行を追加しました。

ErrorDocument 404 /404.php

これはファイル内の唯一の行です。

ユーザーがサイトにアクセスしたときに$_SERVER ['SCRIPT_NAME']の値を記録するphp関数を使用して、サイトにアクセスしているときに取得したエントリのURLとパスを追跡します。$ _SERVER ['SCRIPT_NAME']の値は、.htaccess行を追加するまで常に正しいものでした。これで、ユーザーがサイトにアクセスしたときに、$ _SERVER['SCRIPT_NAME']の値として404.phpが表示されます。別のページに移動すると、$ _ SERVER ['SCRIPT_NAME']で最初にページ名が正しくなりますが、その後、値が404.phpに置き換えられます。

これを引き起こす原因は何ですか?

4

1 に答える 1

0

どうやらhostgator.comでは、サーバーのデフォルトの404ページが404.shtmlに設定されているようです。

そこで、この問題を修正するために、.htaccessファイルに次のものを追加しました。

RewriteEngine on
RewriteRule ^(.*)\.shtml$ $1.php
于 2013-03-12T12:18:23.473 に答える