私の目標は、Web サイトで使用しているスクリプト言語をユーザーが把握できないようにすることです。私のウェブサイトの URL 構造はhttp://example.com/login/で、これはhttp://example.com/?page=loginです。
ページ パラメータは、ファイルが存在するかどうかを確認します。たとえば、?page=loginは、 login.phpファイルが存在するかどうかを確認し、それをロードする要求されたページとしてindex.phpファイルに含めます。ページが存在しない場合は、「ページが見つかりません」というメッセージが表示され、error.phpページが代わりになります。
これらの条件でエラーページをトリガーしたい (クエリに?page=errorを追加):
条件 1:要求された URI にファイル拡張子が追加されている。例: http://example.com/login.phpおよび index.php ファイル、 http://example.com/index.php
条件 2:ファイルが存在しない。例: http://example.com/notinserver.phpまたは http://example.com/notinserver.whatever
条件 3:ファイル拡張子がcss、js、jpg、jpeg、gif、または pngファイル ( http://example.com/images/logo.jpg ) でないこと。明確にするために、許可された拡張子 ( http://example.com/css/style.cssなど) でない限り、URI にピリオドを含めてはなりません 。
条件 4 : http://example.com/index/と書かれている場合。Web ページ自体を含める必要はありません。
デフォルトページhttp://example.com/への無制限のリダイレクト、またはindex.phpが書き込まれたときに、サーバーが内部エラーをスローするため、条件 1 を通過できませんでした。これが私がこれまでに持っているものです:
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z]+)/ ?page=$1
RewriteCond %{REQUEST_URI} \.
RewriteRule . ?page=error [L]