Php 仅允许从.htaccess中的特定引用进行访问
我有一个安装了wordpress的网站,我正在使用modrewrite来显示干净的URL。我希望从facebook提交的访问者访问该网站,而其他人重定向到其他网站,我做了一个,它的工作,但我不知道如何将被拒绝的访问者重定向到其他网站Php 仅允许从.htaccess中的特定引用进行访问,php,wordpress,.htaccess,Php,Wordpress,.htaccess,我有一个安装了wordpress的网站,我正在使用modrewrite来显示干净的URL。我希望从facebook提交的访问者访问该网站,而其他人重定向到其他网站,我做了一个,它的工作,但我不知道如何将被拒绝的访问者重定向到其他网站 # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteCond %{HTTP_REFERER} !(www.)?facebook.com
RewriteCond %{HTTP_REFERER} !(www.)?fb.com
RewriteCond %{HTTP_REFERER} !(www.)?l.facebook.com
RewriteCond %{HTTP_REFERER} !(www.)?goo.gl
RewriteRule .* - [F]
#开始WordPress
重新启动发动机
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
重写cond%{HTTP_REFERER}!(www.)?facebook.com
重写cond%{HTTP_REFERER}!(www.fb.com)
重写cond%{HTTP_REFERER}!(www.)l.facebook.com
重写cond%{HTTP_REFERER}!(www.)goo.gl
重写规则。*-[F]
您的重写规则
应该包含您要重定向到的规则的完整URL。
例如:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !(www.)?facebook.com
RewriteCond %{HTTP_REFERER} !(www.)?fb.com
RewriteRule ^ http://www.non-facebook-refer.com [R=301,L]
</IfModule>
重新启动发动机
重写cond%{HTTP_REFERER}!(www.)?facebook.com
重写cond%{HTTP_REFERER}!(www.fb.com)
重写规则^http://www.non-facebook-refer.com [R=301,L]
您的重写规则
应该包含您要重定向到的规则的完整URL。
例如:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} !(www.)?facebook.com
RewriteCond %{HTTP_REFERER} !(www.)?fb.com
RewriteRule ^ http://www.non-facebook-refer.com [R=301,L]
</IfModule>
重新启动发动机
重写cond%{HTTP_REFERER}!(www.)?facebook.com
重写cond%{HTTP_REFERER}!(www.fb.com)
重写规则^http://www.non-facebook-refer.com [R=301,L]
并非所有浏览器都会传递HTTP\u REFERER
标题,最终用户也可以对其进行修改,使其不可信。这是一种非常不可靠的方法,它们也不是好的正则表达式。除了直接伪造推荐人,他们还可以通过www.fb.com.othersite.example.com进行dns。应使用$
终止主机名。并非所有浏览器都会通过HTTP\u REFERER
标题,并且最终用户也可以修改该标题,使其不受信任。这是一种非常不可靠的方法,它们也不是好的正则表达式。除了直接伪造推荐人,他们还可以通过www.fb.com.othersite.example.com进行dns。应该用$
终止您的主机名。我这样做了,现在网站一直将我重定向到非facebook参考,即使推荐人是facebook我只写非facebook部分,您需要添加其他部分是的,问题出在哪里,请检查最后一个代码可能是https有问题?使用php打印HTTP REFERER标头以检查它是否包含facebook.comi这样做了,现在网站一直将我重定向到非facebook REFERER,即使裁判是facebook我只写非facebook部分,你需要添加其他部分是的,问题出在哪里,请检查最后一个代码可能是https有问题吗?使用php打印HTTP REFERER标头,检查它是否包含facebook.com