【发布时间】:2009-08-06 06:09:51
【问题描述】:
我认为我使用 mod_rewrite 的 htaccess 文件导致我的页面被多次调用。谁能看看我当前的 htaccess 文件是否会发生这种情况?或者是否有可能?这仅发生在 view.php 页面中(据我所见)。
# REWRITE DEFAULTS
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [R=301,L]
# /view.php?t=h5k6 externally to /h5k6
RewriteCond %{THE_REQUEST} ^GET\ /view\.php
RewriteCond %{QUERY_STRING} ^([^&]*&)*t=([^&]+)&?.*$
RewriteRule ^view\.php$ /%2? [L,R=301]
# /h5k6 internally to /view.php?t=h5k6
RewriteRule ^([0-9a-z]+)$ view.php?t=$1 [L]
我的 PHP 脚本中发生的情况是它们被多次调用,或者至少一个函数被多次调用,即使我已确保它被调用一次!
谢谢大家
【问题讨论】:
-
您的浏览器有响应吗?似乎这些规则会导致循环并且永远不会运行您的页面。
-
是的,页面正常显示,但即使发出了一个请求,页面似乎也有很多点击。
-
好的,我知道如何使用 THE_REQUEST 避免循环。
标签: .htaccess mod-rewrite