0

管理パネルを介したアップロードを許可するWebサイトを回復して、パブリックフォルダー内のindex.phpスクリプトのみを許可する処理を行っています。私を悩ませてきたのは、パブリックフォルダーにあり、必要なphpファイルが含まれているckeditor+pgrfilemanagerを使用していることです。

SOの非常に知識のある人々の提案に基づいて、私はこの.htaccessスニペットへの参照を送信されました:

RewiteEngine On
RewriteCond %{REQUEST_METHOD} ^PUT$ [OR]
RewriteCond %{REQUEST_METHOD} ^MOVE$
RewriteRule ^/public/(.*)\.php /public/$1.nophp

私の質問は、これがpublicのchildrenフォルダー内のphpファイルにどのように影響するかということです。

もう1つの問題は、ZFプロジェクトの最終的な.htaccessがどのように見えるかがよくわからないことです。現在、.htaccessマニュアルをよく読んでいないため、変更点がよくわかりません。

これが私が立てたいものです

SetEnv APPLICATION_ENV production
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
RewriteCond %{REQUEST_METHOD} ^PUT$ [OR]
RewriteCond %{REQUEST_METHOD} ^MOVE$
RewriteRule ^/public/(.*)\.php /public/$1.nophp
AddHandler cgi-script .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi .js .sh .jsp .asp
Options -ExecCGI

経験者から学べたら嬉しいです。ありがとうございました

4

1 に答える 1

1

実際の子フォルダーが存在する場合public、ルート .htaccess ファイルはそこにあるファイルには影響しません。Apache は最下位のフォルダーを見つけ、そこでディレクティブを探します。

.htaccess ファイル内のさまざまなコンポーネントは正常に見えますが、順序が正しくありません。このようなものが良いでしょう:

SetEnv APPLICATION_ENV production
AddHandler cgi-script .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi .js .sh .jsp .asp
Options -ExecCGI

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteCond %{REQUEST_METHOD} ^PUT$ [OR]
RewriteCond %{REQUEST_METHOD} ^MOVE$
RewriteRule ^/public/(.*)\.php /public/$1.nophp [L]

RewriteRule ^.*$ index.php [NC,L]
于 2012-05-23T16:50:30.550 に答える