Php htaccess和我的脚本创建循环

Php htaccess和我的脚本创建循环,php,apache,.htaccess,loops,redirect,Php,Apache,.htaccess,Loops,Redirect,我用php编写了一个脚本,它检查所有传入的流量是否有某些参数,然后决定是否必须将流量重定向到提供页面或我的正常站点 在htaccess中,我使所有的流量都通过脚本 现在的问题是,重定向到CPA提供的流量都很好,并按要求工作,但还没有通过测试,应该发送到正常站点的流量却陷入了一个循环中 脚本将流量发送到正常站点,但htaccess再次将其发送到脚本,此循环继续进行 这是我在htaccess中添加的规则 RewriteRule (.*)$ xxx/script.php?a=$1 请帮我摆脱这个循环

我用php编写了一个脚本,它检查所有传入的流量是否有某些参数,然后决定是否必须将流量重定向到提供页面或我的正常站点

在htaccess中,我使所有的流量都通过脚本

现在的问题是,重定向到CPA提供的流量都很好,并按要求工作,但还没有通过测试,应该发送到正常站点的流量却陷入了一个循环中

脚本将流量发送到正常站点,但htaccess再次将其发送到脚本,此循环继续进行

这是我在htaccess中添加的规则

RewriteRule (.*)$ xxx/script.php?a=$1
请帮我摆脱这个循环。我不擅长htaccess编码,但我认为如果可以对下面的逻辑进行编码,它应该停止循环

重写条件(该条件应检查流量的引用是否不是站点本身,然后将流量发送到脚本。如果是,则进入正常站点。)

一个简单的测试:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !xxx/script\.php [NC]
RewriteRule ^(.*)$ /xxx/script.php?a=$1 [L,R]
?

编辑:
添加了[R]标志,只有script.php在浏览器的地址栏中可见。

您应该避免检查针对以下文件或目录的请求:

RewriteEngine On

# request is no for a file
RewriteCond %{REQUEST_FILENAME} !-f
# request is no for a directory
RewriteCond %{REQUEST_FILENAME} !-d 
# forward to a script for checks
RewriteRule ^(.*)$ /xxx/script.php?a=$1 [L,QSA]

该代码将确保登陆正常站点的用户能够在其中导航。我尝试的一个更改只是让用户登录到一个请求的页面,然后该用户再次陷入循环。此用户只能访问一个URL。此代码是否确保登录到正常站点的用户能够在其中导航。我尝试的一个更改只是让用户登录到一个请求页面,然后该用户再次陷入循环。我不明白你所说的
是什么意思。我尝试的一个更改只是让用户登录到一个请求页面
,我的意思是,此更改是否允许发送到站点的用户,浏览所有页面,否则它将只允许他最初请求的1个URL。这是内部重写,因此您网站上的外部访问者甚至不知道此重写是在幕后进行的。