0

如何将整个传入的任何可能的 URL 作为变量传递到另一个站点?

例如:'www.old.com' --> 'www.new.com?url=www.old.com'

'www.old.com/subdir/sub/welcome.html' --> 'www.new.com?url=www.old.com/subdir/sub/welcome.html'

'subdomain.old.com/sss.php' --> 'www.new.com?url=subdomain.old.com/sss.php'

甚至可能吗?

4

1 回答 1

1

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST}  ^(www\.)?old\.com  [NC]
RewriteRule .*   http://new.com?url=%{HTTP_HOST}%{REQUEST_URI}  [L]

将任何请求静默映射到

http://old.com/Anything或者http://www.old.com/Anything

至:

http://new.com?url=RequestedURLRequestedURL整个请求的 URL在哪里。

例子:

http://www.old.com/subdir/sub/welcome.html?this=is&a=query

将被静默重定向到:

http://www.new.com?url=www.old.com/subdir/sub/welcome.html?this=is&a=query

根据问题,没有触发重定向的条件或模式:所有请求都old.com将被重定向。

对于永久且可见的重定向,请将 [L] 替换为 [R=301,L]

于 2013-01-30T02:40:49.290 回答