Php

如何阻止 apache httpd 伺服器中的使用者訪問目錄中的 *.php 文件,而使用者應使用目錄名稱訪問此文件

  • November 21, 2012

我的要求看起來很簡單,但Google搜尋並沒有幫助我。

我的查詢是

我想向試圖訪問我網站中的 *.php 文件的使用者(不重定向到另一個文件夾或文件)拋出一個 404 頁面

例如:當客戶要求 **www.example.com/home/**我想顯示內容時,但當使用者說

www.example.com/home/index.php 我想顯示一個 404 頁面。

我嘗試了不同的方法,對我沒有任何效果,其中一種嘗試如下所示

<Directory "C:/xampp/htdocs/*">
   <FilesMatch "^\.php">
       Order Deny,Allow
       Deny from all
       ErrorDocument 403 /test/404/
       ErrorDocument 404 /test/404/
   </FilesMatch>
</Directory>

提前致謝

這是我的 .htaccess 文件。你可以在這裡展示: http: //mathpdq.com/demo2

http://mathpdq.com/demo2/index.php

AddDefaultCharset UTF-8
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /demo2
   RewriteCond %{HTTP_HOST} ^mathpdq\.com
   RewriteRule ^(.*)$ http://www.mathpdq.com/demo2/$1 [R=permanent,L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

只是一個基本的重寫規則,您可以將其作為 .htaccess 文件放在您的文件夾或伺服器配置或虛擬主機配置中

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f

//allowed files, just remove the ! to use this rule to deny
RewriteCond %{REQUEST_URI} !.*\.(css|js|jpg|gif|png|zip|tff)

//redirect location
RewriteRule (.*) /public/www/404.php

引用自:https://serverfault.com/questions/450781