Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 当facebook.com是推荐人时,在URL的末尾附加一个0(零)_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 当facebook.com是推荐人时,在URL的末尾附加一个0(零)

Apache 当facebook.com是推荐人时,在URL的末尾附加一个0(零),apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,当访问者从facebook.com点击时,我需要在我的每个URL的末尾添加一个0(零) 通过在.htaccess中使用此选项,我可以使其正常工作: RewriteEngine On RewriteCond %{HTTP_REFERER} ^http://(www\.)?facebook\.com [NC] RewriteCond %{QUERY_STRING} ^$ RewriteRule . %{REQUEST_URI}?id=FB [R=301,L] 问题是,我不想使用问号,在我的.hta

当访问者从facebook.com点击时,我需要在我的每个URL的末尾添加一个0(零)

通过在.htaccess中使用此选项,我可以使其正常工作:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?facebook\.com [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteRule . %{REQUEST_URI}?id=FB [R=301,L]
问题是,我不想使用问号,在我的.htaccess中尝试下面的代码时,URL被破坏(我得到了几个零,而不仅仅是一个)

是否可以使用此方法仅将单个零附加到URL的末尾?谢谢您的指导。

当然可以,但这在很大程度上取决于您使用的URL

您需要添加1个额外条件,并且仅当请求的URL末尾不包含
0
时才重定向(这将是“重定向标记”--URL已重定向的证据)。在这种情况下,这是我唯一知道的方法

RewriteEngine On

RewriteCond %{HTTP_REFERER} ^http://(www\.)?facebook\.com [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !0$
RewriteRule . %{REQUEST_URI}0 [R=301,L]
显然(正如我在一开始提到的)——如果URL已经以
0
结尾,这将不起作用(我们讨论的是URL的路径部分,而不是查询字符串)

RewriteEngine On

RewriteCond %{HTTP_REFERER} ^http://(www\.)?facebook\.com [NC]
RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} !0$
RewriteRule . %{REQUEST_URI}0 [R=301,L]