0
プロジェクトフォルダ内のすべてのファイル(ルートフォルダ(サブフォルダではない)にあるPHPスクリプトを除く)へのHTTPアクセスをブロックします。ルート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>
この大部分はapi.phpスクリプトに書き換えURLを除き、動作します。私は/(api|cron|status)(\.php)?$
にFilesMatchの正規表現を変更しようとしましたが、それは私に403応答を投げつけ続けます。
誰でも私がここで間違ったことを説明することはできますか?私は正規表現で、通常はOKだけど、これは
ありがとうございました。私はそれが問題の原因となっている主要なスラッシュだと思います – 3rgo