Php 在实现.htaccess后,我的站点加载了两次,为什么?

Php 在实现.htaccess后,我的站点加载了两次,为什么?,php,apache,.htaccess,Php,Apache,.htaccess,在实现了一个.htaccess文件以使我的网站的单个页面可以通过简单/文件夹/链接访问之后,某些(如果不是全部)页面会加载两次 每当我访问某个页面时,当一个计数器计算某个内容在我的站点上的点击次数时,我注意到了这一点 这只发生在我创建.htaccess文件之后 这是一个常见的问题还是只有我一个人经历过?为了防止这种情况,应该做些什么 除了一些重写条件,我的.htaccess文件中没有任何内容 AddDefaultCharset UTF-8 RewriteEngine on #remove P

在实现了一个.htaccess文件以使我的网站的单个页面可以通过简单/文件夹/链接访问之后,某些(如果不是全部)页面会加载两次

每当我访问某个页面时,当一个计数器计算某个内容在我的站点上的点击次数时,我注意到了这一点

这只发生在我创建.htaccess文件之后

这是一个常见的问题还是只有我一个人经历过?为了防止这种情况,应该做些什么

除了一些重写条件,我的.htaccess文件中没有任何内容

AddDefaultCharset UTF-8

RewriteEngine on

#remove PHPSESSID 
RewriteCond %{QUERY_STRING} PHPSESSID=.*$ 
RewriteRule .* %{REQUEST_URI}? [R=301,L]

#content
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?(content)/([0-9]+)/(.+)$ index.php?nav=single&ID=$2 [QSA,L]

#comments
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?(comments)/([0-9]+)/([0-9]+)$ index.php?nav=comments&ID=$2&catID=$3 [QSA,L]

#normal pages
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule /?([A-Za-z0-9_-]+)$ index.php?nav=$1 [QSA,L]


# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

计数器在重定向之前递增,可能有多种原因。一个原因是使用外部资源的绝对路径。它们也将被重写,并可能导致问题

这里有一个想法:

将此添加到模板的标记之间:

<base href="/">


如果这不起作用,请尝试在清除输出缓冲区之前将计数器函数移到最后几行。

可能希望显示htaccess文件的相关部分如何显示.htaccessfile@John康德,对不起,我完全忘了这部分!看上面!我不知道我为什么要做压缩手术。我不久前写过这篇文章…这是由页面上的一些外部资源造成的-图像、脚本、css文件等-它也通过这个.htaccess文件,并被重写为通过
index.php
,从而增加计数器。查看所有具有
href
src
属性的HTML元素,其中一个就是罪魁祸首。还有一种可能是favicon.ico导致了这种情况,尽管这似乎与您的任何重写规则都不匹配。有趣的是,这个问题因不是“真正的问题”而被关闭,但却有一个真正的答案解决了OP提出的问题。哇!非常感谢您的简单回答!如果可能的话,你能简单地解释一下为什么这确实有效吗?服务器:“好的,重定向完成。开始脚本和增量计数器。哦,等一下-也重定向这个资源链接。开始脚本和增量计数器。”我也非常喜欢一行程序-尤其是服务器端语言不可知的:)你能帮我一下吗?