5

わかりましたので、奇妙な問題があります。ローカルの XAMPP を実行して、アクリル DNS プロキシも実行しています。いくつかのコードをテストしているときに、スクリプトが 2 回実行されていることに気付きました。これが私が得たものです。

index.php

<?php
$myFile = "test.txt";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = "1\n";
fwrite($fh, $stringData);
fclose($fh);
?>

.htaccess

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
</IfModule>

アクリルホスト.txt

127.0.0.1 test.com
127.0.0.1 *.test.com

仮想ホスト ファイル

<VirtualHost *:80>
    DocumentRoot /www/test
    ServerName test.com
    ServerAlias *.test.com
</VirtualHost>

<VirtualHost *:443>
    DocumentRoot /www/test
    ServerName test.com
    ServerAlias *.test.com
    SSLEngine On
    SSLOptions +StrictRequire
    SSLEngine on
    SSLCertificateFile conf/ssl.crt/server.crt
    SSLCertificateKeyFile conf/ssl.key/server.key
    SSLProtocol TLSv1
</VirtualHost>

test.comにアクセスすると、text.txt の出力は " 1\n 1\n "になります。

しかし、www.test.comにアクセスすると、text.txt の出力は " 1\n "になります。

2回実行を停止するにはどうすればよいか知っている人はいますか?

編集:

これらは私が使用しているバージョンです:

Apache 2.4.4
MySQL 5.5.32
PHP 5.4.19
4

1 に答える 1

7

chrome が favicon.ico を探していたため (404 の原因)、私の .htaccess ファイルがすべての 404 を index.php ファイルに指定し、コードを再度実行したためのようです。

于 2013-11-04T04:22:21.917 に答える