2013-11-04 220 views
4

好吧,我有一個奇怪的問題。我有一個本地XAMPP運行並運行Acrylic DNS Proxy。當我測試一些代碼時,我注意到它正在運行腳本兩次。這是我得到的。PHP腳本運行兩次

的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> 

AcrylicHosts.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

任何人都知道怎樣做才能讓它停止運行兩次?

編輯:

這是我的工作版本:

Apache 2.4.4 
MySQL 5.5.32 
PHP 5.4.19 
+0

我相信test.com正在調用兩次,這是運行index.php的默認行爲。如果test.com訪問兩次,請檢查您的access_log。在這裏可能會發生重定向問題 –

+0

我的訪問日誌說 「GET/HTTP/1.1」200 466 「GET /favicon.ico HTTP/1.1」404 1067 「GET/HTTP/1.1」200 466您認爲它可以是因爲404? – craigbett

+0

嘗試此操作,並.. .. $ curl test.com/index.php –

回答

6

它看起來就像是由於Chrome一直在尋找的favicon.ico(這就造成了404)和我.htaccess文件將所有的404s指向再次執行代碼的index.php文件。

+0

請將此標記爲答案。這可能有助於面臨同樣問題的人。 – bansi