2012-07-18 56 views
1

我想重定向到另一个页面,如果任何用户试图通过URL访问成员区域。重定向网址,如果referrer不是当前域名

RewriteEngine On 
RewriteBase/
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC] 
Rewriterule^http://test\.jason\.ca [R,L] 

因此,如果他们试图访问任何url而不使用referrer作为域名,我希望它将它们踢到主页。我知道我做错了,但我还不知道。有任何想法吗?

编辑:所以它不完全像我以上张贴明显。我忘了,包括这个部分,但这是它是如何在我的.htaccess正是:

php_value upload_max_filesize 1024M 
php_value post_max_size 20M 
php_value max_execution_time 200 
php_value max_input_time 200 
AddType text/x-component .htc 


# 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] 
RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC] 
Rewriterule^http://test\.jason\.ca [R,L] 
</IfModule> 

# END WordPress 
+0

这对我 – 2012-07-18 20:49:09

+0

工作正常,只是仅供参考,使用referer进行任何验证通常是一个相当糟糕的想法,因为用户代理可以提供他们想要的任何东西。欺骗是微不足道的,但浏览器不报告引荐信息的合法用户会受到干扰。我建议不要这样。 – 2012-07-19 00:06:29

+0

你推荐使用什么?我试图阻止任何人访问我的wordpress上传文件夹,除非他们有权访问它(签署到wordpress) – jasonaburton 2012-07-19 00:30:36

回答

0

你需要把上面的WordPress的规则的引用者的规则:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?(?!test\.jason\.ca) [NC] 
Rewriterule^http://test\.jason\.ca [R,L] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

没有工作。结果仍然相同。 – jasonaburton 2012-07-18 22:54:08