Htaccess传递整个网址?

时间:2013-01-30 01:10:40

标签: apache .htaccess mod-rewrite redirect url-rewriting

如何将整个传入的任何可能的URL传递给另一个站点AS A VARIABLE?

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

' www.old.com/subdir/sub/welcome.html' - > '?www.new.com URL = www.old.com /子目录/子/ welcome.html'

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

甚至可能吗?

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

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

以静默方式将任何请求映射到

http://old.com/Anythinghttp://www.old.com/Anything

要:

http://new.com?url=RequestedURL其中RequestedURL是整个请求的网址。

示例:

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]