.HTACCESS 2 个域名的重写规则

.HTACCESS 2 个域名的重写规则

我有两个域,其内容位于同一个文件目录中:

http://www.alpha.com/

DIR: /var/www/alpha.com/

http://www.beta.com/

DIR: /var/www/beta.com/

我想做以下的事情:

当用户进入

http://www.alpha.com/beta/

他应该看到的内容

http://www.beta.com

并前往

http://www.alpha.com/beta/index.php?a=3&b=2

他应该看到的内容

http://www.beta.com/index.php?a=3&b=2

等等。

我如何使用 htaccess 来管理它?

我应该把它放在哪个目录中?

我想到过:

RewriteEngine On

RewriteRule ^\.htaccess$ - [F]


RewriteCond %{REQUEST_URI} ^/beta/(var1)$

RewriteRule ^.*$ http://beta.com/%1

但它不起作用。而且我不擅长正则表达式。

谢谢你的每一个回答!

答案1

将以下.htaccess文件放入/var/www/alpha.com/

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/beta/?$
RewriteRule ^.*$ http://beta.com [L]
RewriteCond %{REQUEST_URI} ^/beta/(.*)$
RewriteRule ^.*$ http://beta.com/%1 [L]
  • 问题掩码?:使前面的标记成为可选的
  • Lflag:表示最后一条规则

答案2

您需要使用该.htaccess文件吗?如果不需要,在文件中使用 VirtualHostshttpd.conf可能比重写更好。

 <VirtualHost *:80>
DocumentRoot /www/alpha.com/
ServerName www.alpha.com
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/beta.com
ServerName www.beta.com
</VirtualHost> 

相关内容