php - 为什么 PHP 代码在一个请求中在两个文件中执行?
问题描述
我花了一整天的时间调试一个归结为这种行为的问题。这对我来说没有意义。
我有 2 个文件 index.php 和 session_plus.php。
两者都只是为每个请求将会话变量加一。
当我添加一个带有重写的 .htaccess 文件时......
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
并点击 session_plus.php 会话变量增加两次。一次是 index.php,另一次是 session_plus.php。当我删除 .htaccess 文件时,请求会按预期增加一次。
我认为该RewriteCond %{REQUEST_FILENAME} !-f
规则会使请求完全绕过 index.php。
有人可以解释一下这里发生了什么吗?
这是示例:http: //0image.net/
解决方案
如您所想,这实际上可能不仅仅是一个请求。
更有可能的是,它类似于浏览器自动发出请求/favicon.ico
(默认情况下通常会这样做) - 如果您没有上传这样的图标文件,那么这个请求当然会被路由到您index.php
的这种情况,由于您配置的重写。
浏览器开发工具的网络面板总是有助于检查实际发生的请求。
推荐阅读
- javascript - Webpack 4, watch folders outside file structure
- visual-studio-code - VSCode–Codestream Extension: Add code range link to Codestream comment thread
- c# - 无法启动进程 dotnet.exe - 输入或输出无法重定向,因为指定的文件无效
- javascript - jQuery Scroll up/down animations blocking
- python - "ModuleNotFound: no module named pynput" when running PyCharm project from CMD?
- oauth - How implement jira nestjs aplplication?
- python - is there a way to find the average between certain consecutive rows?
- r - How can I return a value based on the closest matching string in a column, given a condition being met in a different column?
- javascript - 条码扫描器自动返回功能
- material-ui - 如何应用 figma 的 material-ui 设计工具包来使用设计令牌做出反应