代码之家  ›  专栏  ›  技术社区  ›  justinl

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

  •  1
  • justinl  · 技术社区  · 7 年前

    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"
    
    1 回复  |  直到 7 年前
        1
  •  2
  •   MrWhite    7 年前

    我在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_STATUS 环境变量是为了确保我们只重写来自客户端的初始请求,即不重写请求,从而避免重写循环。 重定向\u状态 最初为空,并在第一次成功重写后设置为“200”。否则,这将无条件重写所有内容,因此有可能 /red 目录,如果你愿意的话。

    推荐文章