2012-12-19 86 views
0

执行.htaccess文件后,为了使我的网站的单页可以通过简单的/文件夹/链接访问,某些(如果不是全部)页面加载两次。执行.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 
+4

可能要显示您的htaccess文件的相关部分 –

+0

向我们展示您的.htaccess文件 – Rawkode

+0

@John Conde对不起,完全忘了这部分!往上看!我不知道我为什么要做压缩的东西。我前段时间写过这个... – Marco7757

回答

1

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

这里有一个想法:

<base href="/"> 

如果还是不行,请尝试将计数器功能到最后的几行:

模板的< head>标记之间添加这在输出缓冲区被清除之前。

+0

哇!非常感谢你为这个简单的答案! 如果可能的话,你能否简短解释为什么这确实有效? – Marco7757

+0

服务器:“好的,重定向完成,开始脚本并增加计数器哦,等一下 - 重定向这个资源链接,开始脚本和递增计数器。 – FredTheWebGuy

+0

我也是单行者的忠实粉丝 - 尤其是服务器端语言不可知的:) :) – FredTheWebGuy

相关问题