如何使用.htaccess访问别名/将子域重定向到另一个域子文件夹

如何使用.htaccess访问别名/将子域重定向到另一个域子文件夹,.htaccess,mod-rewrite,amazon-ec2,bitnami,mod-alias,.htaccess,Mod Rewrite,Amazon Ec2,Bitnami,Mod Alias,我希望我的用户转到 red.example.com 他们实际上看到的是一个从 blue.example.com/red 使用.htaccess,这是否可行?本质上,这是一个重定向,但我不想在地址栏中更改URL 编辑 正在添加虚拟主机信息 RewriteEngine On RewriteRule /<none> / [L,R] <IfDefine USE_PHP_FPM> <Proxy "unix:/opt/bitnami/php/var/run/wordp

我希望我的用户转到

red.example.com

他们实际上看到的是一个从

blue.example.com/red

使用
.htaccess
,这是否可行?本质上,这是一个重定向,但我不想在地址栏中更改URL

编辑

正在添加虚拟主机信息

RewriteEngine On
RewriteRule /<none> / [L,R]

<IfDefine USE_PHP_FPM>
    <Proxy "unix:/opt/bitnami/php/var/run/wordpress.sock|fcgi://wordpress-fpm" timeout=300>
    </Proxy>
</IfDefine>

<Directory "/opt/bitnami/apps/wordpress/htdocs">
    AuthType Basic
    AuthName Coincurve
    AuthUserFile "/opt/bitnami/apache2/wordpress_users"
    Require valid-user

    Options +MultiViews +FollowSymLinks
    AllowOverride None
    <IfVersion < 2.3 >
        Order allow,deny
        Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
        # Require all granted
    </IfVersion>

    <IfDefine USE_PHP_FPM>
       <FilesMatch \.php$>
         SetHandler "proxy:fcgi://wordpress-fpm"
       </FilesMatch>
    </IfDefine>

    RewriteEngine On
    #RewriteBase /wordpress/
    RewriteRule ^index\.php$ - [S=1]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]

    Include "/opt/bitnami/apps/wordpress/conf/banner.conf"
</Directory>

Include "/opt/bitnami/apps/wordpress/conf/htaccess.conf"
重新编写引擎打开
重写规则/[L,R]
AuthType Basic
AuthName曲线
AuthUserFile“/opt/bitnami/apache2/wordpress\u用户”
需要有效用户
选项+多视图+FollowSymLinks
不允许超限
命令允许,拒绝
通融
= 2.3>
#要求所有授权
SetHandler“代理:fcgi://wordpress-fpm"
重新启动发动机
#重写BASE/wordpress/
重写规则^index\.php$-[S=1]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则。index.php[L]
包括“/opt/bitnami/apps/wordpress/conf/banner.conf”
包括“/opt/bitnami/apps/wordpress/conf/htaccess.conf”

我在mydomain.com上只有一台真正的服务器。红色和蓝色的子域都指向mydomain.com的IP地址

如果子域都指向同一个位置(主域的根),那么您可能不需要“重定向”到不同的主机名(这将涉及使用mod_代理和配置反向代理)。换句话说,
blue.example.com/red
指向与
red.example.com/red
相同的位置,因此它成为一个相对简单的内部重写

(虽然您的vhost配置不完整,但我假设您在其中的某个地方有一些
ServerAlias
指令?)

例如:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^red\.example\.com [NC]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^ /red%{REQUEST_URI} [L]

REDIRECT\u STATUS
环境变量的检查是为了确保我们只重写来自客户端的初始请求,即不重写请求,从而避免重写循环<代码>重定向_状态最初为空,并在第一次成功重写后设置为“200”。否则,这将无条件地重写所有内容,因此如果您愿意,可以在根目录中有一个子目录
/red

您能显示两个子域的
VirtualHost
条目吗?我在mydomain.com上只有一个实际的服务器。红色和蓝色的子域都指向mydomain.com的IP地址。正如你从vhost上看到的,我正在AWS上使用Bitnami。