1

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

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

这仅在我创建 .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

1 回答 1

2

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

这是一个想法:

在模板的 <head> 标记之间添加:

<base href="/">

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

于 2012-12-19T18:25:12.690 回答