2017-01-27 16 views
0

私のhtaccessでは私はこのルールを持っています。htaccessはPHP拡張モジュールをブロックする方法を教えてください。

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{REQUEST_URI} !/$ 
RewriteRule ^(.*)$ $1\.php 

私のPHP拡張機能は、現在私の自己のオフラインです。

しかし、事は..です

ユーザーの種類が下の.php最後に、それはページをロードする場合。

URLから.phpをブロックする方法はありますか?

+1

が重複する可能性を拡張子はファイルへの直接アクセスを拒否する](http://stackoverflow.com/questions/7623725/rewrite-file-extension-but-deny-direct-access-to-file) – cteski

+1

Yo誰かが "example.com/index.php"を入力すると "example.com/index"が開きますか? – mirzak

+0

クライアントのタイプが.php –

答えて

4

これは.phpファイル用の禁止エラーを送信するために追加します。[書き換えファイルの

RewriteEngine On 

RewriteCond %{THE_REQUEST} \.php[/\s?] [NC] 
RewriteRule^- [F] 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 
2

クライアントが直接リクエストを送信する場合は、THE_REQUEST変数で追加のルールを使用することができます

RewriteRule ^.*?\.php$ forbidden [F,L] 
+2

の場合、OPのルールも失敗します。 – anubhava

0
<IfModule mod_rewrite.c> 

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^.*?\.php$ forbidden [F,L] 

</IfModule> 
関連する問題