2

私の .htaccess では、次のことを行います

then php スクリプトは、ユーザーを関連するページに移動させ、関連するテキストを表示します。

ErrorDocument 400 /error.php?e=400
ErrorDocument 401 /error.php?e=401
ErrorDocument 403 /error.php?e=403
ErrorDocument 404 /error.php?e=404
ErrorDocument 500 /error.php?e=500
ErrorDocument 503 /error.php?e=503

一部のエラーについては、自動メールを送信しようとしています。

1)誰かが入力するだけで、Apacheからではない場合、ページに直接アクセスできないようにするにはどうすればよいですかerror.php?e=503

2)最後にアクセスした URL (エラーを引き起こした URL) を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2

(1) mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードを.htaccess以下のDOCUMENT_ROOTディレクトリに配置します。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

ErrorDocument 400 /error.php?e=400
ErrorDocument 401 /error.php?e=401
ErrorDocument 403 /error.php?e=403
ErrorDocument 404 /error.php?e=404
ErrorDocument 500 /error.php?e=500
ErrorDocument 503 /error.php?e=503

# block direct access to /error.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+error\.php[\s?] [NC]
RewriteRule ^ - [F]

(2)以下を使用して元のURI/error.phpにアクセスします。

$_SERVER["REQUEST_URI"];
于 2013-08-28T19:38:41.093 に答える