PHP 脚本运行两次

标签 php apache .htaccess xampp

好吧,我有一个奇怪的问题。我有一个本地 XAMPP 正在运行,并且也在运行 Acrylic DNS 代理。当我测试一些代码时,我注意到它运行了两次脚本。这是我得到的。

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

最佳答案

看起来是因为 chrome 正在寻找 favicon.ico(这导致了 404),而我的 .htaccess 文件将所有 404 指向再次执行代码的 index.php 文件。

关于PHP 脚本运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761108/

相关文章:

php - 用多个替换器替换多个字符

php - 如何在不使用框架的情况下编写好的 PHP 代码?

php - 如何捕获错误,例如无法打开流和连接超时

.htaccess - 在 URL 中隐藏子目录

php - 在页面上显示mysql数据而不刷新页面-下拉列表

https 站点的 Apache 反向代理给出 (70014) 找到文件结尾 :

python - apache上的python flask应用程序的随机问题

java - Apache Pivot - 启动应用程序时出现 SerializationException

linux - 服务器总是在 url 中添加后缀

php - 将 GET 变量从 PHP 转换为友好的 URL?