2017-01-07 43 views
1

我喜歡阻止除「index.php」之外的我的網站的所有「.php」請求,我如何使用.htacess和重寫mod?Apache .htaccess - 使用「.php」而不是「index.php」阻止所有URL

RewriteEngine On 
RewriteCond %{REQUEST_URI} ^.*(.php) [NC] 
RewriteRule ^(.*)$ - [F,L] 
+0

您的解決方案可能是在這裏:拒絕所有文件,但htaccess的指數/默認頁](http://stackoverflow.com/a/12115091/4973076) – mdck

+0

或可能有:HTTP://計算器.COM /問題/ 12865780/MOD重寫的異常換一個特定的文件 – mario

回答

1

可以在RewriteRule使用否定條件圖案:

RewriteEngine On 

RewriteCond %{REQUEST_URI} \.php$ [NC] 
RewriteRule !^index\.php$ - [F,NC,L] 
0

我用了多年,它完美的作品。您可以添加多個文件以允許使用|分隔列表

#PROTECT FILES 
<Files *.php> 
Order Deny,Allow 
Deny from all 
</Files> 

#ALLOW FILES 
<FilesMatch index.php|captcha.php> 
Allow from all 
</FilesMatch>