0
我想阻止對我的項目目錄中的每個文件的HTTP訪問,除了位於根文件夾(不是子文件夾)中的PHP腳本。我怎麼能阻止除根PHP腳本以外的所有內容
我現在的.htaccess文件看起來是這樣的:
# Disable Directory Listings in this Directory and Subdirectories
# This will hide the files from the public unless they know direct URLs
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^api/(.*)$ api.php/$1 [QSA,L]
</IfModule>
# Deny all files from being accessed with Apache
Order Deny,Allow
Deny from all
# Allow specific PHP files at root
<FilesMatch "/(api|cron|status)\.php$">
Order Allow,Deny
Allow from all
</FilesMatch>
這主要工作,除了URL重寫的api.php腳本。我試過將FilesMatch的正則表達式更改爲/(api|cron|status)(\.php)?$
,但它一直在拋出403響應。
任何人都可以向我解釋我在這裏做錯了什麼?我通常用正則表達式確定,但是這已經讓我思考的Apache不處理他們和其他人一樣...
謝謝你做到了。我想這是導致問題的主要斜線 – 3rgo