如何使用Apache将多个域重定向到不同的子目录

Lui*_*ado 4 .htaccess mod-rewrite apache2

我想将多个域重定向到不同的子目录。例如:

如果访问者使用具有HTTP重定向到www.mainme.com的域www.cookie.com,则当访问者到达那里时,Apache会检测到该域并将其重定向到mainme.com/cookie

对于uppy.com也是如此。如果将HTTP重定向到mainme.com,则当用户到达时将其重定向到mainme.com/puppy

可以在.htaccess中完成吗?

使用Linux作为服务器,将/ var / www作为Web文件夹。

现在不使用Virtualhost,而是学习如何使用。

Sey*_*sen 5

我真的不明白你的意思

已转发到www.mainme.com

如果使用HTTP重定向转发了该重定向,则需要更改该重定向以适应您的需求(因此请附加/cookie/puppy结尾)。

如果您的域共享相同的文档根目录,则需要将此代码放在.htacces中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?cookie\.com$
RewriteRule ^(.*)$ http://www.mainme.com/cookie? [R,L]
RewriteCond %{HTTP_HOST} ^(www\.)?puppy\.com$
RewriteRule ^(.*)$ http://www.mainme.com/puppy? [R,L]
Run Code Online (Sandbox Code Playgroud)

编辑: 因此,您可能具有http-referer作为用户来自何处的线索。尝试这个:

RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http[s]?://(www\.)?cookie\.com(.*)?$
RewriteRule ^(.*)$ http[s]?://www.mainme.com/cookie? [R,L]
RewriteCond %{HTTP_REFERER} ^http://(www\.)?puppy\.com(.*)?$
RewriteRule ^(.*)$ http://www.mainme.com/puppy? [R,L]
Run Code Online (Sandbox Code Playgroud)