如何使用 .htaccess 将来自特定域名的所有请求重写到我的站点?
例如,如果http://www.example.com
有指向我网站的链接,那么我想将它们重定向到我网站上的不同页面,但来自其他网站的其他链接和直接链接应该像正常一样显示请求的页面。
我一直在搞不清楚如何做到这一点......提前致谢!
更新:
答案中要求的一些信息:
我精简的 .htaccess 文件如下所示:
# irrelevant all squashed together (issue still remains when used like this)
<Files .htaccess>
order allow,deny
deny from all
</Files>
Options +FollowSymLinks
RewriteEngine On
RewriteOptions MaxRedirects=10
DirectoryIndex index.php
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301]
ErrorDocument 400 /error.html
ErrorDocument 401 /error.html
ErrorDocument 403 /error.html
ErrorDocument 404 /error.html
ErrorDocument 500 /error.html
Options All -Indexes
IndexIgnore *
LimitRequestBody 10240000
#redirect
RewriteCond %{HTTP_REFERER} ^http://(www\.)?badsite\.com/ [NC]
RewriteRule !^error\.html /error.html [L,NC,R=302]
我正在访问的页面的标题如下所示:
Referer: http://www.badsite.com/wiki/Page
第二次更新:
预期的行动是:
- 访问
http://www.example.com/wiki/Page
- 点击链接到
http://www.mysite.co.uk/thispage/here
- 由于
example.com
,我应该被重定向到http://www.mysite.co.uk/badpage
而不是http://www.mysite.co.uk/thispage/here
像所有其他请求一样。