0

.htaccessWindows サーバーでは、ルールを実行し、PHP をインストールするために Helicon Ape を実行します。.htaccessルートディレクトリのファイルに以下の行があります:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^test/(.*)$ test/handle.php?path=$1 [L]
</IfModule>

handle.php以下のコードをファイルに書きました。

echo $_GET["path"];
exit;

次のようなURLを入力すると、http://mysite.com/test/test.zipまたはhttp://mysite/test/FILENAME.EXT代わりに印刷FILENAME.EXTすると、出力として印刷handle.phpされます!! どうしたの?

4

1 に答える 1

1

handle.php の書き換えを防ぐ条件を追加してみる

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI}  !^/test/handle.php$
RewriteRule ^test/(.*)$ test/handle.php?path=$1 [L]
</IfModule>
于 2013-06-26T09:44:06.617 に答える