Apache 当facebook.com是推荐人时,在URL的末尾附加一个0(零)
当访问者从facebook.com点击时,我需要在我的每个URL的末尾添加一个0(零) 通过在.htaccess中使用此选项,我可以使其正常工作: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
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]