如果referrer不是当前域名,则重定向url

时间:2012-07-18 20:41:17

标签: .htaccess redirect referrer

如果有任何用户尝试通过url访问成员区域,我正在尝试重定向到另一个页面。

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

所以如果他们尝试访问任何网址而不使用引荐来源作为域名,我希望它将它们踢到主页。我知道我做错了,但我还不知道。有什么想法吗?

编辑:所以它与我上面发布的内容不完全一样。我忘了包含这部分,但这就是我的.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

1 个答案:

答案 0 :(得分: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