这是我在某个文件夹中的htaccess代码:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
</IfModule>
如果HTTP_REFERER是我自己的站点,我该如何做到这一点,但是如果不是,则重定向到某个文件?
我一直在尝试类似的方法,但是它不起作用:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://.*MYSITE.*$ [NC]
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]
RewriteCond %{HTTP_REFERER} !^http://.*MYSITE.*$ [NC]
RedirectMatch 301 ^(.*)$ MYFILE.jpg
</IfModule>
我已经阅读了有关该主题的几篇文章,但是没有任何一种方法可以达到我想要的效果。谢谢
答案 0 :(得分:1)
您可以使用此:
RewriteEngine on
#if http_referer is not my site then redirect the request
RewriteCond %{HTTP_REFERER} !mysite\.com [NC]
RewriteCond %{REQUEST_URI} !/thispage\.php [NC]
RewriteRule (.*) http://example.com/thispage.php [L,R=301]
#rules for mysite.com
RewriteRule ^index\.php$ - [L]
RewriteRule (.*) ./index.php?id=$1 [L]