2016-05-06 7 views
1

404エラーページをPHPページにリダイレクトして追跡しています。 我々は使用していました.htaccessコード:404エラーページを見つける

ErrorDocument 404 404.php?sr=%{REQUEST_URI} 

私たち404.phpページに我々はフェッチしようとしているとき:それは私たちに、ユーザがabc.htmlのようにリダイレクトされてしまったから、ページ名が表示されない

$requri = getenv ("REQUEST_URI"); 

、我々はしたいですそのページ名を検出するには、誰でもこの問題を助けることができますか?

+1

代わりに '$ _SERVER [" HTTP_REFERER "]'を試しましたか? – Justinas

+0

'%{REQUEST_URI}'変数は 'rewriteRule'と' RewriteCond'ディレクティブの一部です。これは 'ErrorDocument'で動作しません – starkeen

答えて

1

あなたが404.phpし、存在しない要求をリダイレクトするためにMOD-リライトを使用することができます。

RewriteEngine on 


RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /404.php?sr=$1 [NC,L] 

-dは、既存のディレクトリと-fサーバー上の既存のファイルに一致すると一致します。 RewriteCondは、要求されたファイル名がでないことを確認します。既存のディレクトリまたはファイルが/404.phpにリクエストをリダイレクトする前にそれを削除します。 $1%{REQUEST_URI}に置き換えて、完全なuriを取得することもできます。

+1

正直な@starkeen –

関連する問題